I found the most tricky part you solved in beautiful solution. I checked with the “dice” function from Heteroptera for the random height input from the list and it works well.
Will be happy to know if you have any good idea without plugin for that.
Is there any solution to have a new generation when I trying to make a rectangular array with new random number or item from list? I would like to have all different cylinder for each generation.