PROCITY/docs/LANES
m3ultra 6afd1ed7a3 Lane F R37 (v8 wave 0, 0.3): THE BUDGET OF RECORD SETTLED — 292 draws / 124,793 tris, and the 280-vs-191 fight was about the CAMERA BEARING
Two sessions disagreed by 90 draws and neither was wrong. Worst draw per BEARING, 12 bearings x
102 stations down the same spine, one tree, one box: 0deg 284 · 30deg 248 · 60deg 208 · 90deg 177 ·
120deg 196 · 150deg 214 · 180deg 211 · 210deg 207 · 240deg 178 · 270deg 182 · 300deg 223 ·
330deg 267. 110 draws of spread from the camera direction alone, on identical positions -- and the
peak sits at yaw 0, the DEFAULT ARGUMENT of DBG.teleport(x, z, ry = 0). The city-patterns audit
took the default and landed on the worst bearing (280, reproduced at 282-292); the animal spike
supplied a yaw and landed mid-range (191, reproduced at 205-215). Correct numbers, different
quantities. Lane B's independent R37 walk (276 draws / 99,880 tris) and mine (282 / 99,878) agree
on TRIANGLES TO 2 -- the same frame through two harnesses.

THE PIN, default boot, synthetic golden seed, tree 7bd96e5, walked the spine:
  292 draws of 300 (NIGHT, 31 live chunks -- the R+1 dispose window at maximum)
  120,145 tris on synthetic; 124,793 on fitzroy_real, the corpus worst
  ?classic=1: 269 draws / 90,580 tris
  margin: EIGHT draws (the audit said "about twenty") and ~75k tris
The worst-draw frame and the worst-tri frame are NOT the same frame. Real towns are draw-cheap and
tri-dear; the synthetic town is the opposite. The audit's "99k-124k" tri range is confirmed and
pinned at its top.

Also measured: viewport is IRRELEVANT (1280x720 and 2560x1440 identical to the byte -- culling is
frustum-shaped, not pixel-shaped) · the R+1 dispose residue is worth +19 draws, not the 60-80
folklore (the rest is place and bearing) · CitizenSim's per-frame rig-acquisition budget means any
one-render-per-station sampler photographs a half-dressed street · ?r=3 measures 307 draws and
BREACHES the 300 gate through an ungated override (filed, not fixed) · ?shadows=1 costs +38 draws
and +38% tris · Lane B's kerb change independently confirmed at +0 draws / -8 tris at the worst
frame, by a harness B did not write.

THE SHARED INSTANCE CAP: 256, one InstancedMesh, town-wide. Measured +1 draw at every N from 32 to
2048, and N x tris/instance ALWAYS submitted (the instance bounding sphere spans the town). Draws
are not the constraint; triangles are. 256 x a 2-4 tri cell = 512-1,024 tris = 0.5% of budget;
0.01 ms/frame to rewrite every matrix. Binding companions: <=24 tris/instance at the cap, and spend
it PROXIMITY-FIRST -- anchor supply runs from synthetic's 246 poles over 6.8 km to bendigo_real's
7,325 over 188 km, so 256 sprayed town-wide there is one instance per 730 m.

Honest limit stated where the number is quoted: headless SwiftShader cannot change a draw or
triangle count (both are counted in JS, and the viewport control proves it), but frame TIME remains
unmeasured on any real GPU and no v8 proposal may claim a millisecond figure.

Re-pinned in LANE_F_NOTES 37; the four other docs that assert the number are flagged with what each
line should now say rather than edited in another author's file. README flags table gains ?verge=0
(Lane B's control, F's file) and a row naming the ?r=3 breach.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 17:19:24 +10:00
..
FABLE_TO_LANE_G.md Fable (integrator): response to Lane G — Draco ruling (no-Draco depot), density ruling, bug triage, G2/G3 sequence 2026-07-16 20:34:30 +10:00
LANE_A_CITYGEN.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
LANE_A_NOTES.md Lane A R37 (v8 wave 0 §0.1, ruling-side): the poster gate was VACUOUS — corrected to three arms with a permanent control 2026-08-03 16:25:04 +10:00
LANE_B_NOTES.md Lane B R37 notes: LANE_B_NOTES §37 + B-progress — the kerb ruling measured, the junction defect recorded, the chunk seam diagnosed 2026-08-03 16:42:48 +10:00
LANE_B_STREETSCAPE.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
LANE_C_AUDIO.md Lane C R28: audioEmitter — the till rings from the counter; the panner was inert 2026-07-17 17:39:54 +10:00
LANE_C_GLB_VALIDATION.md Lane C R5 C3: re-measure interiors after Lane E's hero-prop bake 2026-07-14 21:16:15 +10:00
LANE_C_INTERIORS.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
LANE_C_NOTES.md Lane C round-9: draw-headroom note for D's browser rigs (F1 handoff) 2026-07-15 09:57:55 +10:00
LANE_C_PUB.md Lane C R30 (v7.0-alpha ledger #2, contract first): LANE_C_PUB §9 — the sell counter. Offer = min(p−1, max(1, floor(p·0.5))): the no-pump law structural, not tuned; type=type strict, fail-closed on untyped items; onSell mirrors onBuy (the proven wallet seam); collection read-only, removal via the game API 2026-07-18 14:04:59 +10:00
LANE_D_CITIZENS.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
LANE_D_NOTES.md Lane D R36 w2.5 (Fable ruling): CLASSIC KEEPS ITS PEOPLE — the 5 DJ bodies gate out of ?classic's pool 2026-07-25 23:20:52 +10:00
LANE_E_ASSETS.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
LANE_E_NOTES.md Lane E R36 w1: the 2 a.m. commits regularized — 9 assets (not 7) swept, Rokoko zone correction, depot 44→53 2026-07-25 22:43:17 +10:00
LANE_F_INTEGRATION.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
LANE_F_NOTES.md Lane F R37 (v8 wave 0, 0.3): THE BUDGET OF RECORD SETTLED — 292 draws / 124,793 tris, and the 280-vs-191 fight was about the CAMERA BEARING 2026-08-03 17:19:24 +10:00
LANE_G_GODVERSE.md Lane G (GODVERSE, ultra) R1: real-shop census adapter — 18 real Newtown shops on the real road graph 2026-07-16 20:19:14 +10:00
ROUND3_INSTRUCTIONS.md Lane F R5 start: archive R3/R4 instruction claims + v2 flags table + v1.1 watch 2026-07-14 20:48:19 +10:00
ROUND4_INSTRUCTIONS.md Lane F R5 start: archive R3/R4 instruction claims + v2 flags table + v1.1 watch 2026-07-14 20:48:19 +10:00
ROUND5_INSTRUCTIONS.md Fable (integrator): round-6 lane instructions — finish v2 wiring + pay review debts (A plansrc carried, F enforcement harness, C draw batching, orphaned assets) 2026-07-14 22:21:31 +10:00
ROUND6_INSTRUCTIONS.md Fable (integrator): round-7 lane instructions — roster default-on flip + GODVERSE real stock + weather + strict harness 2026-07-14 23:53:54 +10:00
ROUND7_INSTRUCTIONS.md Fable (integrator): round-8 lane instructions — catch-up (A/B carried) + the town comes alive (patronage, buy loop, weather, pack breadth) 2026-07-15 02:06:34 +10:00
ROUND8_INSTRUCTIONS.md Fable (integrator): round-9 lane instructions — the v2.0 ship round (interior presence, buy-anywhere, tram, tour, docs freeze) 2026-07-15 09:16:59 +10:00
ROUND9_INSTRUCTIONS.md Fable (integrator): round-9 lane instructions — the v2.0 ship round (interior presence, buy-anywhere, tram, tour, docs freeze) 2026-07-15 09:16:59 +10:00
ROUND10_INSTRUCTIONS.md Fable (integrator): round-10 instructions — interior giant-rig blocker, v2.0 tag pulled 2026-07-15 12:12:55 +10:00
ROUND11_INSTRUCTIONS.md Fable (integrator): v2.0 shipped; round-11 instructions — the audio round 2026-07-15 14:08:32 +10:00
ROUND12_INSTRUCTIONS.md Fable (integrator): round-12 instructions — v3.0-alpha, one pub end-to-end 2026-07-15 17:32:34 +10:00
ROUND13_INSTRUCTIONS.md Fable (integrator): round-13 instructions — v3.0-beta, the district 2026-07-15 21:30:01 +10:00
ROUND14_INSTRUCTIONS.md Fable: R14 kickoff rulings recorded (push done, flag stays opt-in, genres final) + gitignore local session files 2026-07-16 00:59:42 +10:00
ROUND15_INSTRUCTIONS.md Fable (integrator): round-15 instructions — close the v3.0 release (F's carried brief + poster-face fix + amp fix) 2026-07-16 09:21:39 +10:00
ROUND16_INSTRUCTIONS.md Fable (integrator): round-16 instructions — v3.1 THE FLIP (defaults on, classic covenant, drummer sits, town-wide pools) 2026-07-16 12:01:26 +10:00
ROUND17_INSTRUCTIONS.md Fable: R17 kickoff rulings — v4 = THE REAL MAP (John), Overpass fetch authorized 2026-07-16 14:05:50 +10:00
ROUND18_INSTRUCTIONS.md Fable (integrator): v4 REAL MAP charter + round-18 instructions — v4.0-alpha REAL ROADS (katoomba_real) 2026-07-16 15:29:10 +10:00
ROUND19_INSTRUCTIONS.md Fable (integrator): round-19 instructions — the v4.0-alpha close (fragmentation ruling, BIG_CITY fix, the gate) 2026-07-16 17:06:18 +10:00
ROUND20_INSTRUCTIONS.md Fable: R20 kickoff ruling — density widening approved (John), directive: subtle, texture not takeover 2026-07-16 18:14:53 +10:00
ROUND21_INSTRUCTIONS.md Fable (integrator): round-21 instructions — the v4.0-beta close (venue cluster bias, selector index, density soak, the gate) 2026-07-16 20:14:39 +10:00
ROUND22_INSTRUCTIONS.md Fable (integrator): round-22 instructions — v4.0 THE EPOCH CLOSE (tri diet first, pack absorb, release tour, G items) 2026-07-16 21:44:03 +10:00
ROUND23_INSTRUCTIONS.md Fable (integrator): v5 THE REAL SHOP charter + round-23 instructions — v5.0-alpha THE FIRST REAL CRATE 2026-07-16 22:48:59 +10:00
ROUND24_INSTRUCTIONS.md Fable (integrator): round-24 instructions — the alpha completion (contract fix, identity field, redhill, honest gates) + two new laws 2026-07-17 00:21:51 +10:00
ROUND25_INSTRUCTIONS.md Fable (integrator): round-25 instructions — the tag, earned (sweep vs Ruling 2, licence line, sku ids, F closes) 2026-07-17 02:14:02 +10:00
ROUND26_INSTRUCTIONS.md Fable (integrator): R26 wave 4 — the mint-id ruling (prefixes are namespace fences); C one line, E one line, F tags 2026-07-17 11:49:38 +10:00
ROUND27_INSTRUCTIONS.md Fable (integrator): R27 wave-5 — THE SPEC RULING (facade = +Z, B's canon canonical); A one-commit fix+pins+cross-convention gate; F re-gates and tags 2026-07-17 16:01:31 +10:00
ROUND28_INSTRUCTIONS.md Fable (integrator): round-28 instructions — THE SPIKE AND THE SWEEP (spike 1 + parked polish, tag v5.1) 2026-07-17 17:07:52 +10:00
ROUND29_INSTRUCTIONS.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
ROUND30_INSTRUCTIONS.md Fable (integrator): ROUND 30 CLOSED — v7.0-alpha wave 1 complete, all green, 7/0/0; the game remembers, spends, and cannot cheat 2026-07-18 15:11:54 +10:00
ROUND31_INSTRUCTIONS.md Fable (integrator): ROUND 31 CLOSED — v7.0-alpha tagged and pushed; the playtest found what the gates couldn't 2026-07-18 16:42:36 +10:00
ROUND32_INSTRUCTIONS.md Fable (integrator): ROUND 32 CLOSED — v7.0-beta wave 1 all green; smoke_bible + the routing amendment 2026-07-20 18:27:19 +10:00
ROUND33_INSTRUCTIONS.md Fable (integrator): ROUND 33 CLOSED — THE HUNT lands, all green; the beta's last system is in 2026-07-20 19:01:40 +10:00
ROUND34_INSTRUCTIONS.md Fable (integrator): ROUND 34 CLOSED — GODBAY hammers, all green; v7.0 needs only the first five minutes 2026-07-20 19:32:06 +10:00
ROUND35_INSTRUCTIONS.md Fable (integrator): ROUND 35 CLOSED — the first five minutes land; every v7.0 SYSTEM is built 2026-07-20 20:13:02 +10:00
ROUND36_INSTRUCTIONS.md Fable (integrator): ROUND 36 CLOSED — v7.0 tagged on 4709cfe; the hold's arc complete; the fork-famine record kept 2026-07-26 00:33:02 +10:00
ROUND37_INSTRUCTIONS.md Fable (integrator): mid-round ruling — CLASSIC KEEPS ITS PAINT (R27 doesn't apply: no gig layer under classic means no posters means no defect to preserve) 2026-08-03 16:45:40 +10:00