PROCITY/docs
m3ultra 0ee7a84710 Lane B R39 39.2: THE FOG — the map shows what you walked past, and is finally readable
minimap.js drew every lot in the plan from the first frame (493 shops on the synthetic, one M
press, against 5,330 m / 4.8 game-days of walking to earn it). It now draws what has been walked
past AND FRAMES ITSELF TO IT — a shop lot goes 0.83x1.11 px -> 29.4x39.2 px on bowral_real, 35.3x.

ZERO DRAWS, measured as an A/B: two port-isolated no-store servers, HEAD vs treatment, the same 15
stations x 4 yaws compared as JSON before either sweep runs. Draw calls IDENTICAL on 60/60 samples
at noon and at night; with the gig layer off both sides (the venue queue's async rigs were the only
noise) NIGHT is identical in draws AND triangles. Map mode cannot cost a draw structurally: the
frame loop never calls composer.render() in the map branch.

- discovery.js (new): a 25 m PROXIMITY PROBE, not onChunkBuilt (R=2 => the outermost live chunk
  corner is 181 m out), on a plan-derived spatial hash — 1.09-1.37 us a probe, every 6th street
  frame = every 0.46 m at WALK. Plus a side test: you must be in FRONT of the shopfront. Control
  with a red arm: walking the synthetic's two service laneways, radius-only reveals 93 shops, the
  shipped probe 59 — 34 refused through the back wall; on the arcade it refuses 0 of 17.
- save.js: optional `known` block under the delta law, keyed by TOWN (re-derived: 23 caches x 3
  seeds, shop/edge ids and lot geometry all identical; the synthetic alone keys @<seed>). Bounded
  by the plan (max 493 shops / 2,593 edges) at 8,192, 64 towns FIFO, ints only. Whole corpus fully
  learned = 137,547 B (2.6% of quota); 482 B after a 500 m outing. Eight reject arms demonstrated.
- classic BY CONSTRUCTION: createMinimap(plan, null) is the pre-R39 map and the file has no flag
  test at all. ?classic=1 / ?fog=0 / ?game=0 map canvases are hash-identical to HEAD's.
- Lane A's address layer consumed (getTownCache + createAddresses): street names along walked
  streets, deduped; the synthetic gets district labels from the same line. No town-type branch.

FILED, NOT FIXED: index.html:384 (Lane D patronage door points) and :450 (the R32 spawn) use
(-sin ry, -cos ry) — the BACK of the building. buildings.js:410/583-597, dbg.js:53 and minimap.js
all use local +Z. Measured against each lot's own frontEdge the +sin point is 0.00 m from the kerb
and the shipped one 15.25 m the wrong side, 493/493 and 72/72 shops. At the shipped spawn 0 of the
shops within 25 m are in front of you on all four towns tested; at the corrected one, all of them.
Two characters, but it moves the default boot's opening pose mid-round — Fable's call.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 21:04:34 +10:00
..
LANES Lane B R39 39.2: THE FOG — the map shows what you walked past, and is finally readable 2026-08-03 21:04:34 +10:00
shots Lane B R39 39.2: THE FOG — the map shows what you walked past, and is finally readable 2026-08-03 21:04:34 +10:00
A-progress.md Lane A R39 39.1 (close): map.html says the street name out loud; CITY_SPEC + A-progress §39 2026-08-03 20:39:59 +10:00
ANIMALS_ANSWER.md Fable: the animal ruling — generate, don't download (foreign-skeleton proven on our own bytes; economics cut tier 2); charter gains the budget re-pin + classic network allow-list 2026-08-03 15:30:43 +10:00
CITY_SPEC.md Lane A R39 39.1 (close): map.html says the street name out loud; CITY_SPEC + A-progress §39 2026-08-03 20:39:59 +10:00
G3_ECONOMY_DESIGN.md Lane G R27 (v5.0): tier 2 — the two read endpoints, the three fences, and the gate's missing subject 2026-07-17 13:56:02 +10:00
RESEARCH.md PROCITY scaffold: spec, research, 6 Opus lane prompts, core modules, vendored three r175, 69 inherited skins 2026-07-14 10:46:40 +10:00
RETRO_V4.md Fable (integrator): the v4 epoch retro — what worked, what cost us, the v4.x ledger, the v5 recommendation 2026-07-16 22:39:47 +10:00
RETRO_V5.md Fable (integrator): the v5 epoch retro — five holds, nine vacuous gates, the covenant amendment, the case law 2026-07-17 17:04:41 +10:00
RETRO_V7.md Fable (integrator): the v7 epoch retro — hands before tags, classic keeps its people, the fork famine chapter 2026-07-26 00:34:18 +10:00
REVIEW_CITY_PATTERNS.md Fable (integrator): budget PINNED 292/124,793 (the 280-vs-191 split was camera bearing) + ruling on classic's post-v2 fetch delta; stale numbers corrected in Fable-owned docs 2026-08-03 17:22:59 +10:00
SALE_RED_TICKET_DAY.md Fable: own the stale-344 error (I verified a doc, not the tree — margin is 21 not 6) + amend RED TICKET DAY with C's stall findings 2026-08-03 21:01:42 +10:00
THE_FRONTIER.md Fable (integrator): budget PINNED 292/124,793 (the 280-vs-191 split was camera bearing) + ruling on classic's post-v2 fetch delta; stale numbers corrected in Fable-owned docs 2026-08-03 17:22:59 +10:00
V2_IDEAS.md Lane F: integration — interiors + keepers + street peds + QA harness 2026-07-14 14:29:03 +10:00
V3_VENUES.md Fable (integrator): v3 epoch charter — venues & gigs (John's pick) 2026-07-15 14:18:26 +10:00
V4_REAL_MAP.md Lane A round 22: CITY_SPEC v4 amendments final + charter risk-list retired-or-carried (ledger #6) 2026-07-16 22:01:31 +10:00
V5_REAL_SHOP.md Lane A round 27 (v5.0): the docs freeze — CITY_SPEC v5 + the risk list judged (ledger #6) 2026-07-17 13:52:47 +10:00
V6_LIVING_STREET.md Fable (integrator): round-29 instructions — the v6 spikes (wave 0 now, the rest gated on John's footage) + charter amended (lean doesn't exist) 2026-07-17 18:13:01 +10:00
V7_THE_GAME.md Lane F R36 w2 (v7.0 close): THE FREEZE — README v7 section, charter risk verdicts, notes §36 2026-07-25 23:10:34 +10:00
V8_SOMEONE_LIVES_HERE.md Fable (integrator): budget PINNED 292/124,793 (the 280-vs-191 split was camera bearing) + ruling on classic's post-v2 fetch delta; stale numbers corrected in Fable-owned docs 2026-08-03 17:22:59 +10:00
V9_THE_CITY_IS_THE_GAME.md Fable: THE CITY IS THE GAME — John's reframe designed and judged; 17,835 named streets sit unused in the caches, and the interior margin is 6 draws not 191 2026-08-03 20:06:05 +10:00