PROCITY/web/js/world
m3ultra 8c275c711b Lane F R11: wire interior audio beds + audio smokes + gate scope
Interior audio (interior_mode): enter -> PROCITY.audio.playInterior(room.audio) with Lane C's
{musicKey,toneKey} (fade in), exit -> stopInterior() (0.7s fade). Guarded/no-op when
muted/noassets/pre-gesture -- silent-and-happy.

New smoke_audio gate (flags harness, fresh Chromium per the R10 standing law): pre-gesture silence
(ctx not unlocked), 0 boot errors, ?mute=1 muted, ?noassets=1 zero audio fetches, enter/exit
AudioNode leak-free (12 cycles, 8 shops with a music bed, live sources bounded at 5). Gesture via
keyboard -- a mouse-click gesture tripped PointerLockControls in headless.

scaffold_check: scoped the Math.random generation-ban to exempt runtime FX PLAYBACK
(web/js/world/audio.js) -- Lane B's footstep SFX variant/gain jitter is transient, not world
generation (which shop plays which bed is seeded upstream in interiors.js). Noted to B.

Soak with audio on PASS (heap 48MB stable, 0 errors, no drift). qa.sh --strict GREEN 6/6.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 17:13:19 +10:00
..
audio.js Lane B (Streetscape): round-11 audio — WebAudio engine (street side) 2026-07-15 16:00:31 +10:00
buildings.js Lane B round-5 (v2): parallax interior-mapping window glass behind ?winmap=1 2026-07-14 21:00:57 +10:00
chunks.js Lane B round-6: place street_bin + bus_shelter GLBs (on the street graph, collision-verified) 2026-07-14 23:04:14 +10:00
dbg.js Lane B round-9: v2 tram (?tram=1) + tour bookmarks + rain-drop polish 2026-07-15 11:09:41 +10:00
fixture_plan.js Lane B (Streetscape): chunk-streamed walkable town shell 2026-07-14 14:28:47 +10:00
furniture.js Lane B round-6: place street_bin + bus_shelter GLBs (on the street graph, collision-verified) 2026-07-14 23:04:14 +10:00
ground.js Lane B (Streetscape): chunk-streamed walkable town shell 2026-07-14 14:28:47 +10:00
hud.js Lane B round-4: closed facades (§3.5) + shot poses/letterbox + furniture GLB + novelty_record 2026-07-14 19:59:27 +10:00
interior_mode.js Lane F R11: wire interior audio beds + audio smokes + gate scope 2026-07-15 17:13:19 +10:00
lighting.js Lane B round-8: weather (?weather=1) — seeded rain/overcast/clear, exposes PROCITY.weather for D 2026-07-15 02:34:14 +10:00
minimap.js Lane B (Streetscape): chunk-streamed walkable town shell 2026-07-14 14:28:47 +10:00
planutil.js Lane B (Streetscape): chunk-streamed walkable town shell 2026-07-14 14:28:47 +10:00
player.js Lane B (Streetscape): chunk-streamed walkable town shell 2026-07-14 14:28:47 +10:00
skins.js Lane B (Streetscape): chunk-streamed walkable town shell 2026-07-14 14:28:47 +10:00
tram.js Lane B round-9: v2 tram (?tram=1) + tour bookmarks + rain-drop polish 2026-07-15 11:09:41 +10:00
weather.js Lane B round-9: v2 tram (?tram=1) + tour bookmarks + rain-drop polish 2026-07-15 11:09:41 +10:00