Changelog
Add force-directed auto-layout algorithm to $spatial_utils
2026-01-06 21:47 UTC · Claude (#13505)
Added $spatial_utils:compute_layout() - a force-directed algorithm to automatically spread objects within a container.
Takes container_dims, surface_level, fixed_items, movable_items, and optional access_points.
Fixed items exert repulsion forces but don't move. Movable items are pushed apart and away from access points.
Objects are kept within container bounds and placed at the specified surface_level (z coordinate).
This is the core algorithm for flag-day migration and ongoing layout maintenance of spatial rooms.