6.3 KiB
PROCITY — Round 21 lane instructions (from Fable, integrator)
Date: 2026-07-16 · R20 verdict: the density round delivered — but the beta is NOT tagged.
What landed (all verified in notes): A capped posters 438→31 (+ a new REAL_TOWN_GIG_GOLDENS
guard) and absorbed the 3–6× densities (292 shops across five towns, drops down to 5.5% and now
counted BY CAUSE, pub facade bias extended, goldens re-pinned once); C published the
class→archetype mapping; E widened the fetch under John's SUBTLE directive — enforced by
construction (heroes never subsampled, texture capped at 3× heroes, deterministic seed-subsample,
every drop counted); B ruled the tram by shop adjacency (the alpha tram fronted 0 shops on 4
of 5 real towns — "it really was a highway bus"), fenced katoomba/fremantle/bendigo per the
fallback, and found+fixed the phantom-stop bug (Newtown: 149 stops → 16); D delivered the
density A/B — heroes kept footfall (17→19 visits) while the street got 3.8× busier — and published
a model self-correction (the sparsity null% was an artefact of measuring at 21:00 from the one
isolated venue; the record is corrected in place). Quality is at series-best.
Open (why there's no tag): F never ran (gate + tag), C's density door-soak (R20 ledger #6)
wasn't done, B never consumed E's index.json (hud.js:11 still hardcodes REAL_TOWNS), and D
filed the main-street relocation finding: katoomba's pub sits 1,000 m from the retail cluster
(1 shop within 160 m vs the RSL's 13) — a gig with no passing crowd. Round 21 closes all of it.
Tag v4.0-beta at close.
The ledger
- Venue cluster bias (A — D's relocation finding). At real-town density, venue candidates
should prefer retail-cluster adjacency: bias
pickVenuestoward candidates with ≥N shops within ~160 m (you own N and the weighting; keep the kind placement flavors — pub corner, band_room fringe, rsl off-spine — as biases within the cluster-adjacent set, not absolutes). Synthetic + fixtures must be a no-op (goldens frozen — the synthetic town is one dense cluster anyway); real-town goldens re-pin ONCE (base+gig, amendment law). Acceptance: no venue in any of the five towns sits with <3 shops in its 160 m radius unless the town genuinely has no better candidate (castlemaine's floor may — say so if it does). - Selector from the index (B — the missed R20 #5). Drop the
hud.js:11hardcode; fetch E'sweb/assets/towns/index.json(fail-soft: index missing → current hardcode as fallback, zero errors). Selector shows shop counts from the index if it's cheap. Nothing else — your tram/ground work is done and verified. - Density door-soak (C — the missed R20 #6). The five towns at their new densities, sampled doors per town (~25/town covers every archetype incl. the texture classes' first real appearance — milkbar/dept/stall interiors on real shops), assert valid interiors / no carve / budgets / types resolve per your §6 table. One table, five rows. Run AFTER A lands (venue relocation changes which lots are venues).
- Relocation verify (D). After A: re-run the katoomba venue-adjacency numbers (the pub should now sit in/near the cluster; your venue-win % and the "gig with no passing crowd" observation should improve). One before/after line per town. Your GIG_RANGE chunk-blindness finding stays filed for v4.x (agreed — not a mid-beta hot-path change).
- Town-pack pull-forward (E — NON-GATING for the tag). Begin v4.0's curated pack: propose the candidate list (~15–25 AU towns with real secondhand density — you have the data instincts from the first five), fetch + emit as data-only commits (same discipline: bounded bbox, raw snapshots, C's mapping, SUBTLE guardrails, index.json grows). A absorbs + pins in R22 — do NOT block the beta tag on any of it. If Overpass rate-limits at pack scale, batch politely (sleep between towns) — the standing auth covers the fetches, courtesy covers the cadence.
- The beta gate (F, last).
a. Five-town matrix at density (boot/determinism/budget/district/noassets/roads), against A's
R21 re-pinned goldens.
b.
venue_nightre-measure — A's poster cap must close your +965-tri edge; record the new number. c. Tram in the matrix: newtown + castlemaine RUN (stops sane), the three fenced towns show no tram and no errors (B's fence signal). d. Selector gating ruling (your R19 open call): always-in-HUD vs?dbg-gated — rule it, one line, done. e. Beta money shot: the densest real main street at golden hour (fremantle or katoomba post-widening — continuous shopfronts, crowd, heroes among texture), intodocs/shots/v4_beta/. f. Docs (README beta paragraph, LANE_F_NOTES §20/§21 incl. the honest why-R20-had-no-tag record), tagv4.0-beta, push (standing authorization).
Laws
Charter unchanged. One golden move this round (A's #1, batched base+gig, once). Synthetic
0x3fa36874, gig 0xb1d48ea1, fixtures, classic — frozen. E's pack commits are data-only and
touch no golden until A absorbs them (R22).
THE EXACT RUN ORDER (John asked)
- Start together: A + B + E. (A: venue bias — the only golden-moving item, the round's spine. B: selector-from-index — independent. E: town-pack fetches — independent, non-gating.)
- When A commits (goldens re-pinned): start C + D. (C: door-soak on the relocated world. D: relocation verify. Both read A's handshake note for the new goldens.)
- When C + D have committed (and B is in): start F. (E does NOT gate F — if E's pack is still fetching, F tags without it.)
Three waves: [A, B, E] → [C, D] → [F].
Standing
- John — nothing blocks this round. FYI: Fable assigned D's relocation finding to A as a cluster-adjacency bias (real towns only, synthetic untouched); E begins the v4.0 town pack early as data-only commits. Both are course-corrections inside the chartered epoch.
- v4.0 preview (R22, do not start beyond E's data): A absorbs + pins the pack · the release
tour on real streets · docs freeze across lanes · the
v4.0tag · then the epoch retro. - Backlog: GIG_RANGE chunk-neighbour lookup (D, v4.x) · instrument LOD · tram tri diet · audioEmitter · flag retirement · awning ripple · editor · multiplayer.