From bb80ac122b1d7bfed9295bf0d36d8e7a2b3fd62f Mon Sep 17 00:00:00 2001 From: m3ultra Date: Fri, 7 Aug 2026 19:20:58 +1000 Subject: [PATCH] =?UTF-8?q?Fable=20(integrator):=20ROUND=2042=20OPEN=20?= =?UTF-8?q?=E2=80=94=20THE=20LOOK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit R41 furnished the rooms and filled the streets; doing so made three cosmetic faults newly visible on its own proof shots. John looked and said fix them. No new systems. The three: (1) the 39 pub props ship UNTEXTURED - the couch and jukebox render as white blobs (E's own note: 37/39 have no texture); (2) the DJ booth reads as a plain black box - the rigged Technics are in there and you cannot tell at viewing distance; (3) the ped roster does not fit 1990s Australia - there is a purple masked luchador in the pub crowd, and ultra's library splits 53 people-normal / 10 comical / 9 fantasy. Ruling 1 makes the period law explicit: 1990s Australia, no fantasy/superhero/anime/ medieval - if it would look wrong on a suburban Sydney street in 1996 it does not ship. Ruling 2 prefers CC0 replacements (Quaternius ships Casual/Punk/Suit/Worker/Farmer) so the look fix and the licence gap close in one move - because B's credits work surfaced that the 19 base peds have NO per-asset licence record and our declared zone includes CC-BY and paid RF. Ruling 3: unrecorded licence = not shipped. Ruling 4: draw-neutral (street margin is nine); interior may spend from the TRUE 227 margin, measured. Ruling 5: no new capability - the DJ driver and the conversation state machine are R43. Also clears standing debt: bench yaw faces along the street instead of at the road (D's sitters now show it), benchStops export, document.fonts.ready for the sign-atlas race that makes four bookmarks unreproducible, and D's warn-level browse smoke. Co-Authored-By: Claude Fable 5 --- docs/LANES/ROUND42_INSTRUCTIONS.md | 128 +++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 docs/LANES/ROUND42_INSTRUCTIONS.md diff --git a/docs/LANES/ROUND42_INSTRUCTIONS.md b/docs/LANES/ROUND42_INSTRUCTIONS.md new file mode 100644 index 0000000..5ee357c --- /dev/null +++ b/docs/LANES/ROUND42_INSTRUCTIONS.md @@ -0,0 +1,128 @@ +# PROCITY — Round 42 instructions (from Fable, integrator) + +Date: 2026-08-07 · **R41 closed green** (18 gates, `d14cf7f` pushed, goldens `0x5f76e76`). +**Theme: THE LOOK.** R41 furnished the rooms and filled the streets with postures; doing so made +three cosmetic faults newly visible. John looked and said fix them. This round is a **visual +debt pass** — no new systems, no new content, just making what shipped last round *read* right. + +## The three faults (Fable's own eyeball pass on R41's proof shots — go look before you start) + +1. **The pub props render as untextured white blobs.** `docs/shots/laneF_r41/pub_furnished.jpg` — + the couch and jukebox are lumpy white masses. E's own §41.2 note says 37 of 39 shipped with + **no texture at all**; they are geometrically correct and visually unfinished. A 90s pub couch + is brown vinyl or worn floral, not white. +2. **The DJ booth reads as a plain black box.** `docs/shots/laneF_r41/record_dj_booth.jpg` — the + rigged Technics with working `Platter_SPIN`/`Fader_PITCH` nodes are in there, and at normal + viewing distance you cannot tell it is a turntable setup. Right result, wrong read. +3. **The ped roster does not fit 1990s Australia.** There is a **purple masked luchador** in the + pub crowd. The survey found ultra's `3D=models/characters/` is 83 FBX = **53 people-normal · + 10 comical · 9 fantasy** — some of the wrong 19 are in our shipped 24. + +## Standing debt this round also clears (all filed, all small) + +- **[B, from D]** `furniture.js` puts the bench's front **along** the street, not facing the road — + contradicting its own comment. D's citizens now sit on these benches, so it shows. +- **[B, from D]** one `benchStops(plan)` export retires D's derived-station mirror. +- **[B, from F]** one `await document.fonts.ready` in `buildings.js` — the sign-atlas font race that + makes four bookmarks unreproducible across boots. +- **[E, from B]** the **19 base ped models have no per-asset licence record anywhere in this repo**, + and CITY_SPEC's declared zone includes CC-BY and paid-royalty-free. B built the credits surface; + this round fills the rows. A ped we cannot licence is a ped we replace. +- **[D, from F]** `r41_shots.py`'s browse arm is deterministically red (it re-enters the winner + after a ~3 s/candidate scan, by which time the occupant has left) — currently warn-level. + +## INTEGRATOR RULINGS + +1. **Period law, now explicit: PROCITY is 1990s Australia.** No fantasy, no superhero, no + luchador, no anime, no medieval. If a model would look out of place on a suburban Sydney street + in 1996, it does not ship. This applies to peds first and everything after. +2. **Prefer CC0 or known-licence replacements** — it fixes the look *and* the licence gap in one + move. The survey found **Quaternius (CC0)** ships Casual, Casual2, Punk, Suit, Worker, Farmer, + Beach: directly usable town archetypes with zero attribution debt. Ultra's 53 people-normal FBX + are the other pool; each needs its licence recorded before it ships (ruling: unrecorded ⇒ not + shipped). +3. **Every ped that ships gets a `credits.json` row** — name, source, licence, attribution-if-any. + B built the surface in R41; this is what it was for. +4. **Draw-neutral or better.** Street is **291/300 at night — nine draws.** A ped swap is + one-for-one; a texture is not a draw. Interior margin is **227** (the true number after C's + phantom-room fix) — the pub may spend some of it, measured, and must state the worst room. +5. **No new capability.** No conversation system, no DJ driver, no new mechanics. If a fix needs a + system, file it to R43 with the measurement. + +## The ledger + +### 42.1 — DRESS THE PUB *(Lane E, look half)* +The 39 `art_incoming` props ship untextured. Give them materials that read as a 1990s Australian +pub/cafe/milkbar. Cheapest correct route first — these are flat-material meshes, so **baked vertex +colour or a small shared palette atlas beats per-asset texture maps** (and keeps the draw win C +fought for). Priorities by how much screen they own: `old_couch`, `jukebox`, `banquette`, +`plywood_bar`, `bistro_table`, `pokie`, `bain_marie`, `pie_warmer`, `keg`, `lounge_chair`. +Beer-stained carpet reds, brown vinyl, laminex, brass and chrome — not white. Ship a contact sheet +and an A/B pair against R41's shot. Keep the house GLB law, re-run the four-surface transmission +gate, republish + sha1-verify. + +### 42.2 — MAKE THE DECKS READ *(Lane E look half + Lane C, jointly)* +The booth is right and unreadable. Diagnose before you change anything: is it the asset (a black +plinth with a dark deck on a dark counter), the composition (nothing around it says *DJ*), or the +lighting? Then fix the cheapest cause. Likely both: E gives the deck body some contrast (silver +platter, coloured slipmat, visible tonearm, a lit pitch fader), and C composes the booth so it +reads at a glance — mixer beside the deck, a record on the platter, sleeves in the rack behind, +maybe the booth angled toward the door instead of flat to a wall. **No control-node driver this +round** (ruling 5) — the nodes stay recorded for R43. Before/after pair required. + +### 42.3 — RECAST THE TOWN *(Lane E cast half — audit and source)* +1. **Audit the shipped 24 peds**: for each, name it, judge it against ruling 1 (1990s Australian + street: yes/no), and record its licence — or mark it `unverified`. The survey's split of ultra's + library (53 normal / 10 comical / 9 fantasy) is your map; the shipped roster is the territory. + **Show the luchador and name it.** +2. **Source replacements** for every reject, preferring CC0 (Quaternius: Casual, Casual2, Punk, + Suit, Worker, Farmer, Beach) then ultra's people-normal pool. Normalize to the existing ped + contract — **same mixamorig skeleton, same 66-node shape, same 2,132–3,999 tri band, same + texture budget** — because D's 46 clips and the impostor bake both ride that contract and a + deviation breaks them silently. +3. **Fill `credits.json`** for the whole roster (ruling 3), replacing B's amber `unverified` rows + with real ones. + +### 42.4 — RECAST, WIRED *(Lane D — after 42.3)* +Swap the roster in `rigs.js`/`loadPedFleet` and the fleet slot machinery. Non-negotiables: +**determinism holds** (same seed → same crowd — the fleet-order bug you fixed in R2 is exactly the +hazard here: fill fixed slots by index, never by load-completion order), **draw count unchanged**, +the impostor bake still matches its rigs at the swap boundary, and the no-giants gate stays green +(new models, new scale risk — this is precisely the R10 failure class). Re-shoot your street shot. +Also yours: fix `r41_shots.py`'s browse arm so it stops being warn-level. + +### 42.5 — THE THREE SMALL ONES *(Lane B)* +The bench yaw (make the bench face the road; D's sitters will show it either way, so a +before/after shot is the proof), the `benchStops(plan)` export, and `await document.fonts.ready` +in `buildings.js`. That last one should make the four unreproducible bookmarks stable — **verify +it does** by re-running F's 3-boot hash check, and tell F whether byte-hash goldens become +possible again. + +### 42.6 — PROVE THE LOOK *(Lane F — last)* +This round is judged by eye, so the shots are the deliverable. Re-shoot every R41 frame that +showed a fault, **paired against the R41 original** (they are committed — use them as the before): +pub, DJ booth, street crowd, pub crowd (the luchador's replacement). Gates: period-law compliance +(no banned-genre model in the ped manifest — a name-list gate, control demonstrated), roster +licence completeness (every shipped ped has a credits row — red if any `unverified` remains), +plus everything standing. Budgets restated with the true numbers. `qa.sh --strict` green. +**No tag.** + +## Laws + +Everything standing: no git commands from lanes (integrator commits at close) · measure the thing, +not the note about the thing · fresh browser contexts · human-sized line on humanoid shots · every +gate ships its control demonstrated · the R41 deny-list is permanent repo law. + +## Order + +1. **Wave 1 (parallel):** E-look (42.1, then 42.2's asset half) · E-cast (42.3) · B (42.5). +2. **Wave 2 (parallel):** C (42.2's composition half) · D (42.4). +3. **Wave 3:** F (42.6). + +## For John + +Still parked for your playtest: the op-shop bin's contents · fog default-on vs mode · v9's third +layer · **the audio listen pass** (nobody in this loop has ears). F8 and `?bugtour=1` are live. +Filed to R43: the DJ control-node driver, the paired-conversation state machine (D's 8 social +clips are shipped and unused), and repainting the nine non-venue shop signage palettes (an art +call B deliberately left you).