Pass explicit grounded/airborne contact bytes from MovementResult into MoveToState and AutonomousPosition, and add ACDREAM_DUMP_MOVE_TRUTH logging for outbound movement plus player UpdatePosition echoes. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
d4c3f947d2
commit
3be0c8b7c7
5 changed files with 166 additions and 56 deletions
|
|
@ -177,33 +177,6 @@ missing is the plugin-API surface.
|
|||
|
||||
---
|
||||
|
||||
## #30 — AutonomousPosition contact byte is too often grounded
|
||||
|
||||
**Status:** OPEN
|
||||
**Severity:** HIGH
|
||||
**Filed:** 2026-04-29
|
||||
**Component:** physics / net / movement
|
||||
|
||||
**Description:** Outbound movement can claim grounded contact even when the
|
||||
local resolver result is uncertain or airborne. `AutonomousPosition.Build`
|
||||
defaults `lastContact` to 1, and the app path needs an audit to ensure
|
||||
`ResolveResult.IsOnGround` is what reaches the wire.
|
||||
|
||||
**Root cause / status:** Tracked under Phase L.2b. This can make ACE accept
|
||||
movement that is not actually retail-valid and can hide edge/step-down bugs.
|
||||
|
||||
**Files:** `src/AcDream.Core.Net/Messages/AutonomousPosition.cs`,
|
||||
`src/AcDream.Core.Net/Messages/MoveToState.cs`,
|
||||
`src/AcDream.App/Input/PlayerMovementController.cs`.
|
||||
|
||||
**Research:** `docs/plans/2026-04-29-movement-collision-conformance.md`.
|
||||
|
||||
**Acceptance:** Ground contact byte is derived from the current resolved
|
||||
movement result for both autonomous heartbeat and movement-state sends. Tests
|
||||
cover grounded, airborne, and failed-transition cases.
|
||||
|
||||
---
|
||||
|
||||
## #31 — Low outdoor cell id can go stale after transition movement
|
||||
|
||||
**Status:** OPEN
|
||||
|
|
@ -285,33 +258,6 @@ one live creature case no longer use the single-cylinder fallback.
|
|||
|
||||
---
|
||||
|
||||
## #34 — Missing routine local/server correction diagnostic
|
||||
|
||||
**Status:** OPEN
|
||||
**Severity:** MEDIUM
|
||||
**Filed:** 2026-04-29
|
||||
**Component:** physics / net / diagnostics
|
||||
|
||||
**Description:** The client needs an opt-in diagnostic that logs local predicted
|
||||
position/contact/cell, outbound movement fields, server `UpdatePosition` echo,
|
||||
and correction delta. Current correction visibility is too focused on portal
|
||||
arrival and not enough on normal walking.
|
||||
|
||||
**Root cause / status:** Tracked under Phase L.2a/L.2b. Without this probe,
|
||||
ACE's tolerance can hide local collision divergence.
|
||||
|
||||
**Files:** `src/AcDream.Core.Net/WorldSession.cs`,
|
||||
`src/AcDream.App/Input/PlayerMovementController.cs`,
|
||||
`src/AcDream.App/Rendering/GameWindow.cs`.
|
||||
|
||||
**Research:** `docs/plans/2026-04-29-movement-collision-conformance.md`.
|
||||
|
||||
**Acceptance:** With the diagnostic enabled, a walking session logs local
|
||||
resolved placement, outbound cell/contact fields, server echo placement, and
|
||||
correction delta in a grep-friendly format.
|
||||
|
||||
---
|
||||
|
||||
|
||||
## #2 — Lightning visual mismatch (sky PES path disproved)
|
||||
|
||||
|
|
@ -494,6 +440,28 @@ If hypothesis (a) is correct, this issue effectively rolls into **#28** — the
|
|||
|
||||
# Recently closed
|
||||
|
||||
## #34 — [DONE 2026-04-29] Missing routine local/server correction diagnostic
|
||||
|
||||
**Closed:** 2026-04-29
|
||||
**Commit:** `(this commit)`
|
||||
**Resolution:** Added `ACDREAM_DUMP_MOVE_TRUTH=1`, which logs local resolved
|
||||
position/contact/cell, outbound movement fields, server `UpdatePosition` echo,
|
||||
and local/server correction delta for the player in grep-friendly
|
||||
`move-truth OUT` / `move-truth ECHO` lines.
|
||||
|
||||
---
|
||||
|
||||
## #30 — [DONE 2026-04-29] AutonomousPosition contact byte is too often grounded
|
||||
|
||||
**Closed:** 2026-04-29
|
||||
**Commit:** `(this commit)`
|
||||
**Resolution:** `GameWindow` now derives the movement contact byte from
|
||||
`MovementResult.IsOnGround` and passes it explicitly to both `MoveToState.Build`
|
||||
and `AutonomousPosition.Build`. Added packet tests proving both builders encode
|
||||
an explicit airborne contact byte.
|
||||
|
||||
---
|
||||
|
||||
## #27 — [DONE 2026-04-26] Cloud meshes appeared missing or faint vs retail
|
||||
|
||||
**Closed:** 2026-04-26
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue