PROCITY/web/js
m3ultra 8577c48594 Lane C: keeper stand pose on the counter contract (re-land on main)
buildInterior now returns room.counter = { mesh, pose, stand } and tags the counter
interactable with userData.keeperStand. stand = {x,z,ry} where a shopkeeper stands
(service side, facing the customer, rig-front = local -Z per keepers.js), clamped
in-bounds. Deterministic; purely additive.

Note: commit 4235060 carries this message but actually contains Lane A's round-2
content (shared-index race, flagged in 3e98f05). This commit lands the real Lane C
change — identical content to stray branch lane-c/keeper-stand (85438b5), which is
now redundant. Verified: 36-build sweep + 50-room soak green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 14:27:58 +10:00
..
citizens Lane D (Citizens): deterministic LOD crowd — rigs/impostors/keepers + test page 2026-07-14 13:43:05 +10:00
citygen Lane C: keeper stand pose on the counter contract (Lane D/F integration) 2026-07-14 13:37:26 +10:00
core Lane C: keeper stand pose on the counter contract (Lane D/F integration) 2026-07-14 13:37:26 +10:00
interiors Lane C: keeper stand pose on the counter contract (re-land on main) 2026-07-14 14:27:58 +10:00