19f8cf08d7
The latency reposition moved hubs to their RTT radius without checking label collisions, so a gliding district could land on top of a neighbour. Make both placement paths overlap-aware via the existing LayoutSolver: keep distance = latency (the meaningful axis) but rotate the arbitrary angle to clear other labels. Track each hub's target position so same-tick moves avoid where others are heading, not just where they are. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>