Commit Graph

2 Commits

Author SHA1 Message Date
m3ultra
48033f48b1 Lane B R41 §41.5: the credits surface — and the game had never shown the OSM attribution it owes
THE CREDITS SURFACE. New web/assets/credits.json (schema procity-credits/1, the data file
every lane appends to — documented in LANE_B_NOTES §41 with a paste-ready row) + credits.js
(the panel, DOM only) + a HUD link. F2 or the link. Zero draws, zero boot fetches (0 before
open, exactly 1 after), zero fetches under ?noassets=1.

Seeding it found a LIVE OBLIGATION the game has never displayed: the 23 real-town caches are
OpenStreetMap data under ODbL 1.0, whose own source note says keep the credit visible. It now
rides the link and is context-aware — on an OSM boot the HUD reads '(c) OpenStreetMap
contributors · credits (F2)'; on the synthetic town, where no OSM data is on screen, it does
not claim it. three.js r175 MIT credited too. 14 entries seeded, all read off the repo.

Field law: licence 'unverified' is legal and a guess is not. Two gaps filed to E as amber
rather than invented: the 19-GLB base ped roster has NO per-asset licence record anywhere in
this repo (and CITY_SPEC's declared zone includes CC-BY and CGTrader RF — a credit may be
owed today), and the 18 house-library fittings still carry AUDIT.md's 38-round-old blanket
caveat despite shipping since R3.

A's D3 CLOSED. Re-measured over the shipped corpus at the golden seed: 27 towns, 1,838 shops,
81 venue lots, 81 of 81 taking the op-shop signage fallback — exactly 3 per town, in every
town. A's number reproduces to the digit. Bite drifted :344 -> :465 -> :483, hence a named
resolver: signStyleFor() tries B's nine palettes, then A's registry (gilt/stencil/club,
carried since R13), then op-shop as genuine last resort. Venue treatment is venue-gated by
construction. Deliberately NOT done: repainting the other nine types onto A's palettes
(record would go muted-teal -> hot-pink neon) — an art call for John, filed.

RULING 4 RESPECTED, NOTHING SPENT: frozen town, 136 station-yaw samples per arm, 544/544
identical on BOTH counters (draws and tris), 0 console errors. Pin method reproduces R40
exactly — default 282 noon / 291 NIGHT, classic 269 byte-exact. The nine-draw night margin
is intact. Classic purity: HUD DOM 2354:8 both arms, fetch surface identical, no
#pc-creditlink / overlay / F2 listener / PROCITY.credits.

Filed to F: three classic bookmarks are not byte-reproducible across boots even at HEAD
(2/5 HEAD-vs-HEAD) — a font race in the sign atlas. A screenshot golden on those cannot be
a byte-hash.

selfcheck ALL GREEN 157,647/157,647, fingerprint 0x5f76e76 unmoved.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 18:10:39 +10:00
m3ultra
5313402e43 Lane B (Streetscape): chunk-streamed walkable town shell
First-person shell: chunk streaming, instanced buildings + facade texture atlas
(22 facade materials -> 1; 5 skin materials city-wide), signs, awnings, furniture,
day/night lighting, minimap, pixel-accurate collision (incl. arbitrary-angle lots),
door raycast -> procity:enterShop, DBG harness, all-fallback mode. Renders Lane A's
full generated town (seed 20261990 'Boolarra Heads', 493 shops); worst continuous-
walk view ~261 draws (<=300 gate). 6 adversarial-review bugs fixed (collision sign,
house doors, awning skin, sign atlas, furniture seed hash, shot-mode restore).

index.html and skins.js include Lane F's inline integration seam edits (marked
'[Lane F integration]'): interior/keeper/citizen wiring + facade filename fix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 14:28:47 +10:00