fix(physics): #31 update outdoor cell id during transition movement
This commit is contained in:
parent
3be0c8b7c7
commit
9fea9b13ad
5 changed files with 109 additions and 29 deletions
|
|
@ -177,33 +177,6 @@ missing is the plugin-API surface.
|
|||
|
||||
---
|
||||
|
||||
## #31 — Low outdoor cell id can go stale after transition movement
|
||||
|
||||
**Status:** OPEN
|
||||
**Severity:** HIGH
|
||||
**Filed:** 2026-04-29
|
||||
**Component:** physics / cells / movement
|
||||
|
||||
**Description:** Local movement can cross 24m outdoor cell boundaries while
|
||||
the low cell id used for outbound full cell id remains stale. This can combine
|
||||
correct landblock high bits with the wrong outdoor-cell low byte.
|
||||
|
||||
**Root cause / status:** Tracked under Phase L.2e. `CELLARRAY`,
|
||||
`CObjCell::find_cell_list`, adjacent-cell checks, and low-cell ownership are
|
||||
not fully ported.
|
||||
|
||||
**Files:** `src/AcDream.Core/Physics/PhysicsEngine.cs`,
|
||||
`src/AcDream.Core/Physics/TransitionTypes.cs`,
|
||||
`src/AcDream.App/Input/PlayerMovementController.cs`.
|
||||
|
||||
**Research:** `docs/plans/2026-04-29-movement-collision-conformance.md`.
|
||||
|
||||
**Acceptance:** Crossing a 24m outdoor-cell seam updates the local resolved
|
||||
cell id and the outbound full cell id. Tests cover intra-landblock seams and
|
||||
landblock-edge seams.
|
||||
|
||||
---
|
||||
|
||||
## #32 — Retail edge-slide / cliff-slide / precipice-slide incomplete
|
||||
|
||||
**Status:** OPEN
|
||||
|
|
@ -440,6 +413,18 @@ If hypothesis (a) is correct, this issue effectively rolls into **#28** — the
|
|||
|
||||
# Recently closed
|
||||
|
||||
## #31 — [DONE 2026-04-29] Low outdoor cell id can go stale after transition movement
|
||||
|
||||
**Closed:** 2026-04-29
|
||||
**Commit:** `(this commit)`
|
||||
**Resolution:** `ResolveWithTransition` now refreshes outdoor cell ownership
|
||||
from the resolved world position while the sphere sweep runs. Intra-landblock
|
||||
24m outdoor seams update the low cell id, and full-cell callers crossing a
|
||||
landblock seam get the destination landblock prefix plus the correct outdoor
|
||||
low cell.
|
||||
|
||||
---
|
||||
|
||||
## #34 — [DONE 2026-04-29] Missing routine local/server correction diagnostic
|
||||
|
||||
**Closed:** 2026-04-29
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue