PROCITY/web/js
m3ultra 0985b05790 Lane D (Citizens): round-3 support — setExposure day/night hook + design notes
Fable round-3 §Lane D (all three tasks):
- sim.js: add CitizenSim.setExposure(e) passthrough so mid-tier billboards track the
  shell's per-segment renderer.toneMappingExposure (lighting.js animates it); stored so it
  survives the placeholder->rig atlas re-bake. Verified: uniform tracks 0.55<->2.3 and
  persists across the fleet upgrade.
- Keeper GLB-rig upgrade contract verified leak-free (my side): 15 enter/exit cycles with a
  fleet-backed rig keeper leave renderer.info.memory geo/tex exactly at baseline. Enabling it
  in the shell is one arg (pass `fleet` to KeeperManager) once F's §3.4 lands.
- LANE_D_NOTES: exact Lane F call sites for setExposure + keeper fleet-upgrade, and the
  chunk-streamed roster v1.5 design note (chunk-local identity, windowing, ownership/hand-off,
  budget, opt-in migration) — design only, no implementation.

Code touches only sim.js; no sibling files edited. Determinism still passes, near cap 24,
mixer 0.3ms, no console errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 15:55:25 +10:00
..
citizens Lane D (Citizens): round-3 support — setExposure day/night hook + design notes 2026-07-14 15:55:25 +10:00
citygen Lane A round 3: verify F finding #5 (storeys) stale, harden selfcheck + document corner-anchor rule 2026-07-14 15:52:30 +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
world Lane F: integration — interiors + keepers + street peds + QA harness 2026-07-14 14:29:03 +10:00