From 3724a65505e460b279b91ded79cc4e1b30ec910d Mon Sep 17 00:00:00 2001 From: m3ultra Date: Wed, 15 Jul 2026 01:23:23 +1000 Subject: [PATCH] =?UTF-8?q?Lane=20C=20R7=20C1:=20=3Fstock=3Dreal=20?= =?UTF-8?q?=E2=80=94=20real=20GODVERSE=20sleeves=20in=20the=20crates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The stockAdapter seam built in v1 finally eats. Lane E's stock pack (parody- transformed Discogs metadata + cover atlas) feeds record-shop bins + the dig riffle behind ?stock=real. Economy stays a stub (buying = toast). - Contract handshake (task 1, unblocked E): confirmed E's index schema as-is in LANE_C_NOTES (items[{id,title,artist,price,price_band,atlas,uv}]; uv origin top-left, C flips V for WebGL; fail-soft; per-type packs). - stockpack.js (new): preloadStockPack/getStockPack (cached) + makeStockAdapter. Atlas texture + material are shared/cached (like depot GLBs); each sleeve is a cover PLANE sampling the atlas at its baked UV, so all real sleeves in a room batch to ONE draw (record: 59 draws). - stock.js binFan: real cover planes (else parody canvas). dig.js: riffles real covers, pull card shows title/artist/$price/band. interiors.js: opts.stock= 'real' wires the adapter (warn-once + parody fallback if pack absent). Test page reads ?stock=real, preloads record/book/toy, passes the adapter to the dig. Validated (E's staged 24-sample; real covers drop in unchanged when E gets the DB): determinism 0/30, leak-free rooms + real dig (0/0 over 25 cycles), draws <=139 all rooms (record 59), fail-soft on no-pack types, ?dig=1&stock=real leak-free. Flag-off + ?noassets untouched (procedural path byte-identical). qa.sh --strict GREEN. F smoke hook + E contract in LANE_C_NOTES. Shot docs/shots/laneC/stock_real_r7.jpg. Co-Authored-By: Claude Opus 4.8 --- C-progress.md | 27 +++++++++- docs/LANES/LANE_C_NOTES.md | 59 ++++++++++++++++++++++ docs/shots/laneC/stock_real_r7.jpg | Bin 0 -> 47603 bytes web/interior_test.html | 13 +++-- web/js/interiors/dig.js | 28 +++++++++-- web/js/interiors/interiors.js | 15 +++++- web/js/interiors/stock.js | 26 +++++++--- web/js/interiors/stockpack.js | 76 +++++++++++++++++++++++++++++ 8 files changed, 226 insertions(+), 18 deletions(-) create mode 100644 docs/shots/laneC/stock_real_r7.jpg create mode 100644 web/js/interiors/stockpack.js diff --git a/C-progress.md b/C-progress.md index bc1c784..fb64ef8 100644 --- a/C-progress.md +++ b/C-progress.md @@ -3,7 +3,32 @@ *Status: **v1 complete & verified**. Standalone interiors library + test page. Every shop door opens into a unique, seeded, themed interior, generated on demand in ~4ms, byte-identical every revisit.* -Last updated: 2026-07-14 (round 6) · owner: PROCITY-C · reviewer: Fable +Last updated: 2026-07-14 (round 7) · owner: PROCITY-C · reviewer: Fable + +--- + +## Update 2026-07-14 (round 7) — `?stock=real`: real GODVERSE sleeves in the crates + +Round-7 §Lane C: the `stockAdapter` seam built in v1 finally eats. Lane E's GODVERSE stock pack (parody- +transformed Discogs metadata + cover atlas) feeds record-shop bins + the dig riffle behind `?stock=real`. +- **Contract handshake** (task 1, unblocked E): confirmed E's index schema as-is in + [LANE_C_NOTES.md](docs/LANES/LANE_C_NOTES.md) — `{ items:[{id,title,artist,price,price_band,atlas,uv}] }`, + UV origin top-left (C flips V for WebGL), fail-soft, per-type packs. +- **New `stockpack.js`**: `preloadStockPack`/`getStockPack` (cached) + `makeStockAdapter`. Atlas texture + + material are shared/cached (like depot GLBs); sleeves are cover PLANEs sampling the atlas at each item's + baked UV → all real sleeves in a room **batch to one draw** (record: 59 draws). +- **Consumers**: `stock.js binFan` builds real cover planes (else parody canvas); `dig.js` riffles real + covers and the pull card shows **title / artist / $price / band**; `interiors.js` wires `opts.stock='real'` + through the seam (warn-once + parody fallback if the pack is absent); test page reads `?stock=real`. +- **Validated (sample 24-pack)**: determinism 0 fails/30, leak-free rooms AND real dig (0/0 over 25 cycles — + atlas shared, sleeve geo disposed), draws ≤139 all rooms (record 59), fail-soft on no-pack types (opshop + ok → parody), `?dig=1&stock=real` leak-free. Flag-off + `?noassets` untouched (procedural path byte-identical). +- Built against E's **staged sample** (real index format, synthetic covers); real Discogs covers drop in + unchanged when E gets the DB (external — John/Fable). Shot: [stock_real_r7.jpg](docs/shots/laneC/stock_real_r7.jpg). + +**→ F**: new smoke for your strict harness — `?stock=real` enter record shop + open dig → assert real +(non-parody) sleeves; the record bin's real sleeves are cover planes with `userData.isStock` on a shared +atlas material (drawSweep stays ≤350). Hook + adapter in LANE_C_NOTES. --- diff --git a/docs/LANES/LANE_C_NOTES.md b/docs/LANES/LANE_C_NOTES.md index 1f9bdbc..08ff003 100644 --- a/docs/LANES/LANE_C_NOTES.md +++ b/docs/LANES/LANE_C_NOTES.md @@ -1,5 +1,64 @@ # LANE C — cross-lane notes (PROCITY-C) +## → Lane F: `?stock=real` smoke for the strict harness (round-7 C1 landed) + +`?stock=real` is wired (record shops; book/toy fail-soft if E ships those packs). Smoke recipe: +- Preload once: `import { preloadStockPack } from interiors.js; await preloadStockPack('record')`. +- Boot `?stock=real`, enter a record shop, **assert real sleeves present**: a real sleeve is a `Mesh` + with `userData.isStock`, geometry `PlaneGeometry`/`BufferGeometry` (batched), on a shared **atlas** + material (`material.map` = the pack atlas, not a per-item canvas). Simplest assert: after build, + `let n=0; room.group.traverse(o=>{ if(o.userData?.isStock && o.material?.map) n++ }); assert n>0` — with + the pack loaded the record bins' sleeves batch to **one** atlas mesh (parody canvas would be ~6 card + meshes). Or open the dig (`?dig=1&stock=real`) and assert a pulled sleeve's panel title is a pack title. +- **Fail-soft**: pack missing → parody canvas + one `console.warn` (no throw). `?noassets` unaffected. +- **drawSweep still ≤350** with `?stock=real` (record 59 draws — the atlas batches all sleeves). + +## → Lane E: stock-pack contract CONFIRMED (round-7 C1) — build the real pack to this, unchanged + +Your proposed index schema is good — **confirmed as-is, no field changes**. Building `?stock=real` +against your staged 24-sleeve sample now (`web/assets/models/stock_record_{index.json,atlas_00.webp}`); +the real covers drop in unchanged. The contract C consumes: + +```jsonc +// stock__index.json (type ∈ record | book | toy ; record is the acceptance bar) +{ + "version": 1, + "atlas_px": 2048, + "cell": 256, // informational; C reads uv, not cell + "atlases": ["stock_record_atlas_00.webp", ...], // 1+; may be depot: or assets/models/ resolved + "items": [ + { "id": "rec_0000", + "title": "Neon Suburbs", // parody-transformed (no-real-trademarks law applies to metadata) + "artist": "Trev Wollemi", + "price": 39, // integer dollars — C shows "$39" + "price_band": "collector", // bargain|standard|collector|grail — C may tint the sticker + "atlas": "stock_record_atlas_00.webp", // which entry in `atlases` + "uv": [0.0, 0.0, 0.125, 0.125] } // [u0,v0,u1,v1] cover rect, ORIGIN TOP-LEFT + ] +} +``` + +Agreements / who-does-what: +- **UV origin is top-left (image-natural) — C flips V for WebGL** (`v_gl = 1 - v`). Keep your index + image-natural; the consumer handles the flip. (Sample verified against this.) +- **Resolution**: C loads `stock__index.json` from a base (default `assets/models/`, i.e. your + staged path — same-origin, works offline). Atlas filenames in the index resolve against the same base; + if you publish atlases to the depot, give me a `"depot": true` flag or depot-prefixed names and I'll + route through the `depot:` loader. For now the sample loads local. +- **Seeded pick per bin is mine** (same `shop.seed` → same crate contents). I only need *enough* items — + 24 repeats across bins (fine for testing); the 300 pack fixes variety. +- **Batching**: because every sleeve samples one shared atlas material (per-item UV baked into geometry), + all real sleeves in a room merge to **one draw** — the ≤350 law holds. Please keep it **one atlas per + pack** where you can (or few); each extra atlas = one more draw. +- **Fail-soft**: index/atlas missing or `?stock` off → parody canvas (warn once). `?noassets` untouched. +- **Per-type packs**: name them `stock_book_*`, `stock_toy_*` if you build them; I key by shop type and + fail-soft per type, so record-only is fine — book/toy are a bonus. + +You flagged needing a Postgres DSN (from John/Fable) to swap synthetic covers for real Discogs images — +that's external and **does not block my consumer**; ping me only if the schema needs to change. + + + ## → Lane F: interior ≤350-draw assertion for the harness (round-6 C1) C1 batching landed — worst room is now **313 draws GLB-on** / 152 GLB-off (was 1,245). The test page diff --git a/docs/shots/laneC/stock_real_r7.jpg b/docs/shots/laneC/stock_real_r7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..940319ce3b691a8be207bcff8cec9015e8f2160f GIT binary patch literal 47603 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 Pptz3#tkz0cf6e|6S=zA& literal 0 HcmV?d00001 diff --git a/web/interior_test.html b/web/interior_test.html index 5b72666..654e169 100644 --- a/web/interior_test.html +++ b/web/interior_test.html @@ -69,9 +69,14 @@