you can quickly get a different set of dots by changing the 'distance metric' from the voronoi texture node
you are not limited to just those shapes though, as you can replace the gradient with your favorite distance function, such as a heart ❤️ (obtainable from #b3dsdf)
if masks isn't your thing we can also just use an image texture instead
here's a couple of stills, currently there's 5 example color palettes but they can be extended/edited in the materials. This uses a simple nodegroup (8 slots) to switch between color ramps but more can be added with easily