PROCITY/web/js/world
jing 2498fdc892 Lane F R12: wire the v3.0-alpha gig layer (?gigs=1) — state machine, cover charge, band+crowd, gig audio
F last: five landed lanes → one Friday night. Seed 20261990 → The Thornbury Hotel,
tonight SCREAMING UTES, $10 on the door. qa.sh --strict GREEN 6/6.

- gig_state.js (new, F-owned): quiet → doors (DUSK) → on (NIGHT) → done (DAWN) → quiet.
  Rides lighting's procity:segment event (a poll only sees the segments it samples, and
  missed the night roll entirely); `state` is a getter because B's audio reads it from its
  own rAF while the player is inside a shop.
- ?gigs=1 seam: custom_bands.json fetched in the bootstrap (no fetch flag-off or ?noassets)
  → generatePlanFor(seed, src, {gigs:true, customBands}). 7 of John's 10 names fill the week.
- Cover charge on the R8 buy seam, zero new UI: paid debits once with a toast, re-entry the
  same night is free, broke → polite knockback, free nights walk straight in.
- interior_mode: opts.gig → C's gigKey; D's GigCrew (band 3 + crowd 8, 3 dancing) at C's
  stage/watch points; both disposed with the room (leak-free over 4 cycles).
- Cross-lane fix at the glue: C emits gigKey 'gig-pubrock', E shipped the bed as
  'pubrock-live' — unresolved the pub plays to a silent room and nothing errors. Bridged
  here; C/E/Fable owe CITY_SPEC a contract line. Details + 2 more findings in LANE_F_NOTES §12.
- smoke_gigs (16 gates): schedule determinism, band==3, crowd ≤ watchPoints, dance mix, bed
  resolves, ≤350 draws (47 rig / 171 placeholder), no-giants by STATURE (the band stands on a
  0.32m deck, so world-crown fails a correct band), cover ruling, ?noassets+?gigs.
  Flags-off regression gains a v3 arm: no state machine, no plan.gigs, no pub, no venue geo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 21:09:56 +10:00
..
audio.js Lane B (Streetscape): round-12 v3.0-alpha — venue frontage + posters + muffled-gig spill (?gigs=1) 2026-07-15 20:15:40 +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
gig_state.js Lane F R12: wire the v3.0-alpha gig layer (?gigs=1) — state machine, cover charge, band+crowd, gig audio 2026-07-15 21:09:56 +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 R12: wire the v3.0-alpha gig layer (?gigs=1) — state machine, cover charge, band+crowd, gig audio 2026-07-15 21:09:56 +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
venue.js Lane B (Streetscape): round-12 v3.0-alpha — venue frontage + posters + muffled-gig spill (?gigs=1) 2026-07-15 20:15:40 +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