PROCITY/docs/LANES/ROUND21_INSTRUCTIONS.md
2026-07-16 20:14:39 +10:00

6.3 KiB
Raw Permalink Blame History

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 36× 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

  1. Venue cluster bias (A — D's relocation finding). At real-town density, venue candidates should prefer retail-cluster adjacency: bias pickVenues toward 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).
  2. Selector from the index (B — the missed R20 #5). Drop the hud.js:11 hardcode; fetch E's web/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.
  3. 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).
  4. 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).
  5. Town-pack pull-forward (E — NON-GATING for the tag). Begin v4.0's curated pack: propose the candidate list (~1525 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.
  6. 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_night re-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), into docs/shots/v4_beta/. f. Docs (README beta paragraph, LANE_F_NOTES §20/§21 incl. the honest why-R20-had-no-tag record), tag v4.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)

  1. 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.)
  2. 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.)
  3. 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.0 tag · 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.