Handover: wave 2

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
m3ultra 2026-07-28 23:19:54 +10:00
parent 67a5d8cf58
commit e0ead6698b

View File

@ -2243,3 +2243,54 @@ needs real wall-clock time, not more `loop.step` calls.
still the only patron-art path that does not blind the dress-code game.
- Cloudflare's neurons reset daily; a batch started after 00:00 UTC gets ~150
free images before it ever touches the farm.
## SESSION — FABLE-SOLO-26b · 2026-07-28 (wave 2, same session)
**Branch:** main · **Gate:** lint ✓ build ✓ test ✓ (821 tests) · **Deployed** + verified.
John: "if cloudflare is used up we have local FLUX anyway go for it."
### The bug worth the whole wave
`bakeTiles` baked to a single global `'floor:tiles'` and early-returned if that
key existed. **Textures outlive a scene**, so the first venue you played baked the
floor for every venue after it: survive a week at The Royal, get promoted, walk
into Voltage and still be standing on the pub's carpet. It cannot show in a dev
route (those reload the page) and only appears **on promotion** — precisely the
moment the venue ladder is supposed to pay off. Baked texture is now keyed
`floor:tiles:<venueId>`. Verified by switching venues inside ONE session and
watching the concrete arrive.
### Materials (`FloorLayout.materials`)
Ten generated plates — carpet, concrete, deck, parquet, looTile, paving, plaster,
brick, timber, steel — stamped one per tile via a RenderTexture and **tinted to
the palette colour**. The tint is the load-bearing part: an untinted photo-real
plate blows straight past the brightness band the room was tuned in, and darkness
is the mechanic. Plates are 16×16 (the game's tile) because at that size "carpet"
is structured noise, which is what pub carpet looks like from head height anyway.
Unlisted kinds, or art that has not landed, fall back to flat colour as before.
### Filled the two rooms the review called empty
The Royal's central carpet (was four props across ~500 tiles) and ROOM's east
hall (~23% of its interior, **zero lights**, three props — now two low sodium
spills and the gear a warehouse party actually stores there). Plus the kit every
real venue has and no game venue does — extinguishers, exit signs, CCTV, bins,
notice board, ceiling fans — across all four rooms. Voltage got the same pass;
being the reference room is how it quietly missed the first one.
### Totals
**112 sprites.** 91 prop kinds + 10 materials placed across four venues, **none
missing art**. 26/26 this wave, no failures.
### Two smaller things
- The duplicate-prop-id invariant caught an id I introduced while placing filler.
Working as intended.
- Relaxed one ROOM assertion that keyed on ARRAY ORDER — it checked the *first*
sodium light stands over the loading dock, which broke the moment the east hall
legitimately burned the same colour. Now checks that *one of them* does. Worth
noting as a test-writing smell: assert the property, not the ordering.
### Still open (unchanged from FABLE-SOLO-26)
- ROOM's barkeep stands in a one-tile service lane; the player walks through him.
- Patron art still wants the body-frames-under-outfits path (ASSETS.md §2).
- Cloudflare's 10k neurons reset 00:00 UTC — a batch started after that gets
~150 free images before it ever touches the farm. Both waves today ran entirely
on MODELBEAST because the allocation was already spent.