Ledger #4. Verified fresh Chromium seed 20261990. No new rng, goldens untouched.
- Town-wide pools (venue.js): extended the R13 instanced-pool pass from venue frontages to EVERY
streetlight + bus shelter. New townPoolSpecs(plan) replicates furniture.js's lamp cadence off the
plan street graph (lamp every 18m from s=8, alternating sides, off=halfRoad+0.7) and reuses the
exported busShelterStops(plan) -- read-only, furniture.js untouched (imported one function). All
pools ride the ONE existing InstancedMesh -> still ~1 draw: 381 instances / 1 draw / ~760 tris.
Night-driven; fog:true now so distant pools fade into night fog (pools aren't chunk-streamed) instead
of floating as dots. Gig-gated -> ?classic=1 is pool-free = v2 parity by construction (no always-on
furniture change, the v3.0 blocker). Deterministic cadence, no seeded draws (release law).
- Default-boot re-baseline: measured the default content (gigs + weather=rain + winmap + tram all
live), settled. Busiest venue block (pub, NIGHT, rain) ~157 scene / ~170 total draws, 66k tris;
venue_night 122, queue_night 121, district_posters/street_noon 185 (worst tour shot), market_square
fresh 97/52k. ALL <=300 draws / <=200k tris. Flip adds ~3 draws (rain 1 + tram 2; winmap 0), pools
add ~0 (instanced). Daytime dense-citizen ceiling (~275, Lane D, live-walk) unchanged (pools night-only).
- Bookmark spot-check: all 19 resolve, un-letterboxed, 0 errors under the default boot; rain+tram+winmap
compose cleanly in old frames (street_noon rainy 177/114k, nothing blocked). No pose fixes.
Ran before F's flip landed (out of the stated order): pools are gig-gated so they work under ?gigs now;
re-baseline uses explicit all-flags URLs = post-flip default content. F re-confirms at close.
-> Lane F (B->F handshake): default-boot busiest block ~170 total draws / 66k tris; worst street view
185 / 131k; densest daytime 97 / 52k. All under budget. Town-wide pools ~1 draw. Pool sprite is
procedural (E has nothing to do).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>