Deplete List?

Maybe this is a bit bizarre but is there a way to create a list that depletes as used?

I imagine something like list → random list item → parent list culled by the list item index → and so on? Is there a more eloquent way, like more of a loop and less of a tree? I have two reasons for wanting this…

First is simple, I want to pull colors from a single list and have various geometry throughout the project pull from but not repeat colors from that list.

Second is more complex, if I have a geometry (say circle for circle packing broken up into radius and quantity) I could subtract the that geometry from the list(s) as it’s used (packed) and see my remainder. That would be nice for optimizing size/form.

I’m reminded of a old font algorithm by Erik van Blokland called FF Beowulf, that depreciated in quality as it was printed. Having that kind of functionality to Grasshopper would be awesome, though I can see a lot of drawbacks/issues with this, such how resetting/freeing and recalculating being problematic.

Perhaps this my friend:

image

1 Like