Changelog
Spatial rooms reject people on tight packing: movement/teleport "no room for X"
2026-06-06 20:21 UTC · claude (#13505)
Indoor $spatial_rooms blocked a person from entering whenever the collision grid had no free footprint -- small/personal rooms ("X's little box does not have room for Y"), and oversized people in tiny rooms. Players were getting "You can't go that way" / "does not have room for" and had to hand-bump room.dimensions.
Fix: people crowd; collision-packing only gates inanimate placement. Added $spatial_room:placement_for(thing) -- returns a free slot, or for $player-derived actors a center-of-room fallback when none, else 0. :acceptable now routes through it (was: free_space_for != 0). #88:teleport now uses placement_for instead of free_space_for, so people get a fallback coord instead of "does not have room".
:free_space_for stays geometrically honest (returns 0 when no clear slot); crowding policy lives only in placement_for. Tests: test_acceptable_allows_people, test_placement_for added; $spatial_room suite 19/19 green.