While thinking about how to break down the shapes of the stones from my previous attempt, the natural thing that came to my mind was, as usual, the noise texture node. So I fiddled quite a bit with it today and here is the result.
I started from scratch and decided to make it simpler than the previous attempt, that is without all the mechanic that makes all the process scale together in relation to each other. I was going for a quick way to test the deformation of the voronoi blobs, and basically, once again as almost always, a noise texture node is your best friend. Applied to the voronoi coordinates input, it works great given the right values, and to add more variance, add more noise with different values that you can layer on top with a mix node.
The model is nothing special but it will demonstrate the tilling capacity of the procedural texture, here exclusively used as a bump map, and its consistency over the entire model.
The mesh has no UVs, all is procedural.
The texture is a simple two colour combination with the height map as a factor. I added a third light colour in Screen blending mode on top with the up vector from the bump map as a factor. There is also some subdivision modifier to break the corners in order to better see the propagation of the procedure.
When stretched over the x and y axis, some areas starts getting problematic, but overall, it not too bad.
The last version is the same model but with only a white diffuse colour map and a displacement modifier based on the baked procedural height map applied on five levels of subdivision surface modifier.
And here is the model with subdiv, matcap and AO in the viewport. Under, the baked height map on a generic Smart UV Project, which is being used by the displacement modifier.