To have nodes repulse & bounce off each other we'd need a spatial index, which our Layout Coprocessor demands to be a binary tree. A quad tree maybe?
Except a tree can never put all data immediately available to the nodes which need it. So we'd need to propagate that data (or summaries thereof) along branches.
On the bright side: We'd strongly benefit from the Layout Coprocessor's concurrency!
P.S. Our other hypothetical processors aren't much better suited to this task.