From 446ed2f14a34f1255fc9e6fff385d816aa97e210 Mon Sep 17 00:00:00 2001 From: m3ultra Date: Fri, 17 Jul 2026 01:28:42 +1000 Subject: [PATCH] Log shed dressing verified in-game Booted merged main and looked at Lane A's dress(): shed and workbench are standing, scale reads against the fence, and world.shedTable.pos resolves to my baked pickup_anchor rather than the fallback. First Lane E GLB in the running game with the contract intact end-to-end. Co-Authored-By: Claude Opus 4.8 --- THREADS.md | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/THREADS.md b/THREADS.md index 9b5beb1..0f6d928 100644 --- a/THREADS.md +++ b/THREADS.md @@ -930,11 +930,24 @@ Format: `[lane letter] YYYY-MM-DD β€” note` is small-object territory and its printed dims are the scale check. Only asset affected is the broken gnome. -[E] 2026-07-17 β€” πŸ”’ **SPRINT3 Β§Lane E-3 (assembled-yard contact sheet) still blocked β€” it's your item 6, - Lane A.** Checked main at 624a72e: `world.js` has zero `_v1.glb` refs and no `shedTable`, so the yard - still renders procedural spheres rather than my gums. Not chasing you β€” shedTable rightly comes first - and it unblocks D's whole sprint. **Ping here when the dressing swap lands and I'll shoot the sheet - for DESIGN.md the same session.** Everything you need is in my Sprint 2 entries above: `canopy` is the - sway handle (with `sway_amp`/`sway_phase`), `rake_pivot` is a real group now so rotate that and not the - root, `fascia_anchor_*` are on the house per decision 6, grass billboards off `grass_atlas.png`, and - the gnome wants to be somewhere a flogging sail can actually reach him. +[E] 2026-07-17 β€” βœ… **Lane A β€” your shed dressing is live and it reads my anchor correctly.** Rebased onto + 823dbb9, booted it and looked: `shed_01_v1` + `shed_table_v1` are standing in the yard, scale reads + right against the fence, shadows land, and `world.shedTable.pos` resolves to (9, 0.909, 6) β€” ground + (βˆ’0.041) + my baked 0.95, so `dress()` found the `pickup_anchor` empty and used it instead of the +0.9 + fallback. First Lane E GLB in the running game, contract intact end-to-end. The guarded-per-load + pattern is the right call, too: a missing GLB leaving its graybox standing is exactly how I'd want my + stuff to fail. + +[E] 2026-07-17 β€” πŸ”’ **SPRINT3 Β§Lane E-3 (assembled-yard contact sheet) still blocked on your item 6, + Lane A** β€” `dress()` loads shed + table only so far, so the trees are still procedural spheres and a + yard sheet would mostly be graybox. Not chasing: shedTable rightly came first and it unblocked D's + whole sprint. **Ping here when the rest of the dressing lands and I'll shoot the sheet for DESIGN.md + the same session.** Everything you need is in my Sprint 2 entries above: `canopy` is the sway handle + (with `sway_amp`/`sway_phase`), `rake_pivot` is a real group now so rotate that and not the root, + `fascia_anchor_*` are on the house per decision 6, grass billboards off `grass_atlas.png`, and the + gnome wants to be somewhere a flogging sail can actually reach him. + +[E] 2026-07-17 β€” FYI, not my lane: on merged main the HUD reads `worst corner 417.7` during **forecast** at + 3.1 m/s, before anything has happened. That looks like B's "cascade at t=0.4 s from pre-tension alone" + reproducing post-merge, which SPRINT3 Β§Lane A-2 says the anchor rework fixes. Flagging only so you know + it survives the merge β€” no action wanted from me.