There are 3 types of block in this pattern:
1 by 1
1 by 2
1 by 3
Not sure what the final shape your wanting to populate is, but this pattern only seems to repeat in the Y, so you would just need to make it and then array in the Y direction. If your wanting to map it, box morph will do that.
Grasshopper Voronoi on Surface - YouTube
I finished a script I began some days ago. The idea is quite simple, take a grid with X pixels in width, Y in height try to put random rectangle with given size if not possible try less big rectangle. It gives that. The output is rectangles between in UV space (between 0 to 1). So this could be used for surface or whatever.
If output Count less than nx*ny augment tries.
grid_subdivision_LEGACY.gh (24.0 KB)
Playing withe the nice render with some smoothing.
I change a bit my tool
grid_subdivision.gh (12.3 KB)
Another version where you could have more or less of each population
grid_subdivision.gh (15.1 KB)