docs: reattribute #166 per Campaign P Slice P2 research; no Sledding auto-toggle needed

docs/research/2026-07-30-response-layer-edge-family-pseudocode.md §3, §6
Step 6. Corrects two things in the original AD-25+AP-7+TS-4 framing:
AD-25's local-player half was already ported by the #182 rebuild
(2026-07-07) and the remaining gap is remote/NPC-only (Campaign P P3
scope); and no client-side PhysicsState.Sledding auto-toggle exists
anywhere in the named-retail decomp or ACE's PhysicsObj.cs -- the only
Sledding write site in any reference repo is a per-weenie game-data
property, not a physics landing response, so this issue must not wait on
inventing one.

AP-7 landed this session. TS-4's removal was attempted per its own
fixture-first requirement and reproduced the historical 2026-04-30 wedge,
so it stays deferred (see its register row and the research doc's §7 item
6). Closure pends TS-4 actually landing and a fresh capture against the
campaign's final visual-matrix item 5.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-07-30 08:28:58 +02:00
parent 65de6921ce
commit 2ecd29e280

View file

@ -4261,12 +4261,48 @@ contact chain diverges). Retiring those three rows IS this issue; do them
together against a retail cdb capture of a downhill jump (velocity +
contact-plane trace at landing).
**Where:** `PlayerMovementController.cs:874` (AD-25 suppression),
`PhysicsBody.cs:307` (AP-7), `BSPQuery.cs:2001` (TS-4).
**Reattribution (2026-07-30, Campaign P Slice P2 research pass —
`docs/research/2026-07-30-response-layer-edge-family-pseudocode.md` §3,
§6 Step 6):** confirmed as the AD-25 + AP-7 + TS-4 composite above, with
two corrections to the original framing. First, **AD-25's LOCAL-PLAYER
half was already ported** in the #182 verbatim `UpdateObjectInternal`
rebuild (2026-07-07) — what remains open for AD-25 is remote/NPC-only and
is explicitly Campaign P P3 scope, not this issue. Second, and more
important: **no client-side `PhysicsState.Sledding` auto-toggle exists in
retail, and this issue should not wait on inventing one.** A cross-
reference of the named-retail decomp (zero hits for "sled" anywhere in the
1.4M-line pseudo-C, string or hex-constant search) against ACE's complete
`PhysicsObj.cs` (the same shared `CPhysicsObj` class that produced
`calc_friction`) found the ONLY write site for `PhysicsState.Sledding`
anywhere in any reference repo is a per-weenie game-data property
(`WorldObject_Properties.cs:1105-1109`, server/database-set, same pattern
as `Ethereal`/`Static`) — not a physics-engine landing response. Ordinary
downhill-jump glide-and-bounce in retail is therefore NOT the literal
Sledding state for an ordinary player; Sledding is most likely reserved
for specific data-authored content (e.g. an actual sled-ride mechanic),
outside this issue's scope. AP-7 landed this same session (`calc_friction`
now ports retail's confirmed 0.25f threshold); TS-4's removal was attempted
per its own fixture-first requirement and reproduced the historical
2026-04-30 wedge, so **TS-4 stays deferred** (see its register row and the
research doc §7 item 6 for the precise mechanism and the concrete next
step). Closure of #166 therefore pends: (a) TS-4 actually landing, and (b)
re-checking Campaign P's final visual matrix item 5 ("Downhill jump
landing: sled glide + bounce") against a fresh capture — if the glide/
bounce still visibly mismatches retail after AP-7 alone (with TS-4 still
deferred), that capture, not a guess, is what should drive any further
work here, and it should go through cdb against live retail before any
client-side Sledding-state mechanism is written.
**Where:** `PlayerMovementController.cs:874` (AD-25 suppression, remote
half only — local half already ported via #182),
`src/AcDream.Core/Physics/PhysicsBody.cs` (`calc_friction`, AP-7 — DONE
2026-07-30), `src/AcDream.Core/Physics/BSPQuery.cs` (Path 6 steep branches,
TS-4 — deferred, shortcut still in place).
**Acceptance:** side-by-side downhill jump: acdream glides/bounces like
retail; flat-ground landings unchanged; no micro-bounce death spiral
(the reason AD-25 exists) reintroduced.
(the reason AD-25 exists) reintroduced. Blocked on TS-4's eventual landing
per the note above.
## #164 — UM action-replay dispatches drop the per-action Autonomous bit