Lane D R20 (v4.0-beta): gig crowd on the five real towns — pre-density baseline (ledger #7, part 1)
The unblocked half of "citizens at density": the gig crowd's BEHAVIOUR on all five real towns' venues, measured BEFORE E's widening so the after-table is a real A/B. Density re-audit follows once E's caches + A's absorb land. BEHAVIOUR IS CORRECT ON ALL FIVE: 0 NaN everywhere; tonightRoster populates (2-7), so R14 identity continuity holds on real bones; every town generates 3 venues (pub/band_room/rsl) on night hours; and the surge works — whenever a patronage check finds any shop, the gig venue beats ordinary shopfronts (venue-win 100% on newtown/ fremantle/bendigo, 74% katoomba). Castlemaine's 40% is the 6-shop floor, not a leak: 3 of its 6 shops ARE venues, so "other" hits are mostly other venues. FINDING (quantifies Fable's ledger #2 "real towns are sparse"): the crowd is SPARSITY-throttled — 94.9-97.7% of patronage checks return null on every town, because peds spend nearly all their time in shopless chunks (katoomba: 19 shops in ~5 door-chunks of a ~78x78-chunk town). The mechanism is fine; the town has no shops per chunk. The density widening attacks exactly this — null% is my headline before/after metric. FILED (not fixed): GIG_RANGE is a 34m radius but _nearestOpenShop searches only the ped's own 64m chunk, so in-range peds across a chunk edge are blind to the gig — 8.7% of in-range ped-samples (852/9740) on katoomba. Small vs the 97% sparsity throttle; not worth a hot-path change mid-beta. Revisit if the widening leaves null% high. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
c7ca39b4f7
commit
85745d2017
@ -6,6 +6,51 @@ _rotOnly/head-bone normalize/upgradeStreetPeople). Measurements on the M3 Ultra
|
||||
|
||||
---
|
||||
|
||||
## ROUND 20 — v4.0-beta THE FIVE TOWNS: citizens at density (ledger #7)
|
||||
|
||||
*PROCITY-D, 2026-07-16. Part 1 of 2: the **pre-density baseline** — the gig crowd's behaviour on all five
|
||||
real towns' venues (F's district gate owns placement; I own behaviour). This half is unblocked; the density
|
||||
re-audit waits on E's widened caches → A's absorb. Deliberately measured BEFORE the widening so the
|
||||
after-table is a real A/B.*
|
||||
|
||||
### The gig crowd is behaviourally CORRECT on all five real towns
|
||||
Per town: stream sim on the real graph, `setGig` on its first venue, 21:00, camera at the venue, ~1400
|
||||
frames. Every town generates 3 venues (pub/band_room/rsl — charter's 2–4) on night hours.
|
||||
|
||||
| town | shops | door chunks | patron checks | **null %** | hit venue | **venue win %** | roster | NaN |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| katoomba_real | 19 | ~5 | 703 | 97.3 | 14 | 74 | 2 | **0** |
|
||||
| newtown_real | 18 | 15 | 267 | 95.5 | 12 | **100** | 4 | **0** |
|
||||
| fremantle_real | 20 | 16 | 429 | 94.9 | 22 | **100** | 7 | **0** |
|
||||
| bendigo_real | 9 | 9 | 343 | 97.7 | 8 | **100** | 3 | **0** |
|
||||
| castlemaine_real | 6 | 5 | 364 | 95.9 | 6 | 40 | 4 | **0** |
|
||||
|
||||
- **0 NaN on all five.** The gig crowd is numerically safe on every real graph.
|
||||
- **`tonightRoster` populates on all five** (2–7) — R14 identity continuity holds on real bones.
|
||||
- **Venue-win % is the surge working**: whenever the patronage check finds *any* shop, the gig venue beats
|
||||
ordinary shopfronts (GIG_RANGE/gigBest preference) — 100% on three towns, 74% on katoomba.
|
||||
**castlemaine's 40% is not a leak**: at the 6-shop floor, 3 of its 6 shops ARE venues, so the "other
|
||||
shop" hits are mostly *other venues*. A quirk of the sparse floor, not the mechanism.
|
||||
|
||||
### The measured finding: the crowd is SPARSITY-throttled, and that's exactly what the widening fixes
|
||||
**94.9–97.7 % of patronage checks return null** on every town — peds spend nearly all their time in
|
||||
**shopless chunks**. Katoomba is the clearest case: 19 shops sit in ~5 door-chunks of a ~78×78-chunk
|
||||
(5 km) town, so `_nearestOpenShop` (which searches the ped's own 64 m chunk) has nothing to find 97 % of
|
||||
the time. **This is the quantified version of Fable's ledger finding #2 ("real towns are sparse")** — the
|
||||
gig/patronage volume is thin not because the mechanism is wrong but because the town has almost no shops
|
||||
per chunk. The density widening (3–6× shops) attacks this directly; **the null % is my headline
|
||||
before/after metric.**
|
||||
|
||||
- **Secondary leak (filed, not fixed):** `GIG_RANGE` is 34 m — a *radius* — but `_nearestOpenShop` only
|
||||
searches the ped's own 64 m chunk, so an in-range ped just across a chunk edge is blind to the gig.
|
||||
Measured on katoomba: **8.7 %** of in-gig-range ped-samples are chunk-blind (852 of 9,740). Small next
|
||||
to the 97 % sparsity throttle, so **not worth a hot-path change mid-beta** — filing it. If the widening
|
||||
leaves the null rate high, this becomes worth fixing (search the ped's chunk + 8 neighbours).
|
||||
|
||||
*Part 2 (density re-audit + post-widening re-run of this table) follows once E's caches and A's absorb land.*
|
||||
|
||||
---
|
||||
|
||||
## ROUND 19 — v4.0-alpha CLOSE: the fragmentation re-measure (ledger #3)
|
||||
|
||||
*PROCITY-D, 2026-07-16. A resolved my R18 finding (commit `6fc4b40`: junction-protected DP + bridge-joins
|
||||
|
||||
Loading…
Reference in New Issue
Block a user