how to create a texture with random circles on an irregular shape
I think the answer might be simpler than you think. I think part of your problem is that you switched the nodes to 2D - this is generally for things without depth or that have a texture that is mapped to a UV map. Have a try with this setup (note that I set the randomness of the Voronai to 0 - this is to make the most &quot;perfect&quot; circles possible, but it also takes a bit of randomness away from the distribution - balance as needed):

Increase the scale of the Voronai for more dots:

If you're looking for more diversity of shape (randomness to the edges), you can warp your input vector using a Vector Math node and some other texture (I used a Noise Texture). As you can see, I used a MixRgb node to mix the values from the noise texture with almost pure white, otherwise the &quot;Warp&quot; effect is far too strong, and leaves undesired results.