I'm very new to geonodes, but as far as I can see, this is a recurring problem because of the lack of a sort of loop system.
What I want to achieve:
I'm creating a roof made of random tiles with different widths from a collection. I want it to be entirely generated by geonodes, with parameters for width and height.
I found a solution to making a line here, complicated by the different tile widths:
Link: Position instances of different dimensions side by side

My problem:
Now I want to expand the line to a grid, but I need a new horizontal line for each new vertical row.
Right now I can do it with a new geonode per line with another one making the final roof, but it is very(!) inefficient.
Otherwise I get the same row repeatedly, as I'm not calculating the instances more than once.
Question:
Is there a way to recalculate the instances, without duplicating the whole setup ≈50 times?
Edit 2: I've tried "Repeat Input", but I don't know how to make it work. It seems to want a geometry in- and output, but I use instances.

This outputs one row of tiles, as if it was not there. If I use more iterations, it breaks with no output.
The nodegroup is the original nodes minus the "Collection Info"




I use instances, not geometry. It seems the setup does not like that, I have tried a few workarounds, but nothing has worked.
Outputting geometry only works on 1 iteration.
Outputting instances breaks it, no output I can see. – Krutzelpuntz Dec 15 '23 at 15:14