docs(phys L.2g): slice 1 shipped handoff + B.4 gap discovery + plan-of-record
L.2g slice 1 is CODE-COMPLETE: parser + registry mutator + WorldSession dispatcher + GameWindow subscriber (4 commits:2459f28,d538915,536a608,108e386). Build clean, 6 new tests pass, baseline-stable across the full suite. Per-commit + final integration code reviews all approved. Visual verification deferred: while running the Holtburg-doorway test, Phase B.4's outbound Use handler turned out to be unwired. The wire builders (InteractRequests.BuildUse), classes (SelectionState, WorldPicker), input-action enums, and keybindings all exist — but GameWindow.OnInputAction has no case for SelectDblLeft, so the click silently does nothing. The inbound L.2g chain we just landed can't fire until something sends an outbound Use. This commit captures the handoff + reframes next-session work: * docs/research/2026-05-12-l2g-slice1-shipped-handoff.md (NEW) Full evidence: 4 shipped commits, end-to-end code flow, B.4 discovery explanation, 4 minor + 1 Important review notes (the Important one is a test-coverage gap that the B.4b visual test will settle automatically), reproducibility recipe, next-session pick. * CLAUDE.md "Currently in Phase L.2" paragraph: L.2g slice 1 code shipped; visual test deferred to B.4b. Next-phase-candidates list: L.2g slice 1 (now done) replaced with the B.4b candidate pointing at the slice scope. * docs/plans/2026-04-29-movement-collision-conformance.md L.2g section gains a "Current shipped slice (2026-05-12):" table listing the 4 commits. * docs/plans/2026-05-12-milestones.md M1 phase-list updated: L.2g slice 1 (code) shipped; B.4 renamed "B.4 / B.4b" with the gap-discovery note + B.4b shape. * docs/ISSUES.md New issue #57 (HIGH) for the B.4 interaction-handler gap. Promoted to Phase B.4b; will close as DONE (promoted to Phase B.4b) when B.4b's design spec lands. * Memory file project_interaction_pipeline.md (in personal memory dir, not in this commit) updated to reflect reality. Next session: Phase B.4b (~30-50 LOC, 1-2 subagent dispatches, ~30 min). Subscribe SelectDblLeft -> WorldPicker.Pick -> InteractRequests.BuildUse -> _liveSession.SendGameMessage. Same Holtburg-doorway visual test verifies both L.2g slice 1 and B.4b in one pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
108e3868a5
commit
aba6c9ac7f
5 changed files with 369 additions and 27 deletions
|
|
@ -266,6 +266,24 @@ Full design spec:
|
|||
M1 critical path: this slice unblocks the *"open the inn door"* demo
|
||||
scenario.
|
||||
|
||||
Current shipped slice (2026-05-12):
|
||||
|
||||
| Commit | Subject |
|
||||
|---|---|
|
||||
| `2459f28` | `feat(phys L.2g slice 1): inbound SetState (0xF74B) parser` |
|
||||
| `d538915` | `feat(phys L.2g slice 1): ShadowObjectRegistry.UpdatePhysicsState` |
|
||||
| `536a608` | `feat(phys L.2g slice 1): WorldSession dispatches SetState (0xF74B) + hex probe` |
|
||||
| `108e386` | `feat(phys L.2g slice 1): GameWindow routes SetState + extends [entity-source] log` |
|
||||
|
||||
Slice 1 is CODE-COMPLETE: parser + registry mutator + WorldSession
|
||||
dispatcher + GameWindow subscriber. 6 new tests pass (3 parser + 3
|
||||
registry). Build clean. Per-commit + final integration code reviews
|
||||
all approved. **Visual verification deferred to Phase B.4b** — the
|
||||
inbound SetState chain can't fire at runtime until B.4b finishes the
|
||||
outbound Use handler. See
|
||||
[docs/research/2026-05-12-l2g-slice1-shipped-handoff.md](../research/2026-05-12-l2g-slice1-shipped-handoff.md)
|
||||
for full evidence + the 4 minor + 1 Important review notes.
|
||||
|
||||
## Named Retail Anchors
|
||||
|
||||
Primary source: `docs/research/named-retail/acclient_2013_pseudo_c.txt`.
|
||||
|
|
|
|||
|
|
@ -101,13 +101,19 @@ doorway. Open the inn door. Click an NPC and see selection feedback. Pick
|
|||
up an item from the ground.
|
||||
|
||||
**Phases to ship:**
|
||||
- **L.2 (all sub-lanes a–g)** — Movement & Collision Conformance. Currently
|
||||
active; L.2a slices 1+2+3 + L.2d slice 1+1.5 shipped 2026-05-12. L.2g
|
||||
(dynamic PhysicsState toggling — doors) brainstormed + design-spec'd
|
||||
2026-05-12 evening, implementation next.
|
||||
- **B.4** — `Use` / `UseWithTarget` / `PickUp` outbound messages
|
||||
(shipped 2026-04-28; remains in M1 scope until L.2g completes the
|
||||
inbound-state half of the Use round-trip).
|
||||
- **L.2 (all sub-lanes a–g)** — Movement & Collision Conformance.
|
||||
L.2a slices 1+2+3 + L.2d slice 1+1.5 + L.2g slice 1 (code) shipped
|
||||
2026-05-12. L.2g slice 1 visual verification deferred to B.4b session
|
||||
(the inbound SetState chain can't fire until the outbound Use sends).
|
||||
- **B.4 / B.4b** — `Use` / `UseWithTarget` / `PickUp` interaction.
|
||||
B.4 (2026-04-28) shipped the wire builders, `SelectionState`,
|
||||
`WorldPicker`, the input-action enums, and the keybindings — but
|
||||
*not* the `GameWindow.OnInputAction` handler that ties them
|
||||
together. As of 2026-05-12, clicking on a door silently does nothing.
|
||||
**B.4b** is the small follow-up slice (~30-50 LOC) that subscribes
|
||||
`SelectDblLeft` and routes through pick → BuildUse → send. Once B.4b
|
||||
lands, the same Holtburg-doorway visual test verifies both L.2g
|
||||
slice 1 and B.4b in one pass.
|
||||
|
||||
**Freeze on landing:**
|
||||
- L.2 zone (collision, cell ownership, transition parity, wire authority)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue