docs(#145): plan — split Slice 2 into 2a (Core, shipped) + fold 2b seeding into Slice 3

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-21 10:57:04 +02:00
parent 7928b445ab
commit 7cae03951e

View file

@ -192,7 +192,9 @@ Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"
--- ---
## Task 2: `PhysicsBody` carries `Position`; `WorldPosition` accessor; canonicalize on placement (behavior unchanged) > **Execution note (2026-06-21):** Slice 2 split into **2a** (Core: `PhysicsBody.CellPosition` + `SnapToCell` + setter delta-sync, SHIPPED `afe495b`+`7928b44`) and **2b** (App: seed `SnapToCell` at the placement sites). **2b folds into Task 3** — the seed is only verifiable once membership consumes it, so they ship together under the runaway test. The confirmed mechanism is wire-seed + mirrored deltas (no `_liveCenter` in Core); the `WorldPosition`/`IWorldFrame` bridge described below was superseded by the setter-delta-sync design (no separate bridge type needed).
## Task 2: `PhysicsBody` carries `Position`; canonicalize on placement (behavior unchanged)
**Goal:** Make the body's source of truth a cell-relative `Position`, with a computed `WorldPosition` so render + wire keep working unchanged. Run `AdjustToOutside` wherever a placement/teleport sets position, so the (cell, local) pair is always canonical. No membership/sweep behavior changes yet. **Goal:** Make the body's source of truth a cell-relative `Position`, with a computed `WorldPosition` so render + wire keep working unchanged. Run `AdjustToOutside` wherever a placement/teleport sets position, so the (cell, local) pair is always canonical. No membership/sweep behavior changes yet.