I want to write a component that will allow children to be added, but will prevent them from overlapping. I have played around with a few collision detection type things, but I haven't been successful. I'm posting this to see if I can get some feedback, ideas, brainstorming about this.

Ideally I'd like children to be positioned randomly or by a "layout function" (that could be customized).