acdream/src/AcDream.Core/Physics/Motion
Erik bb18614a89 fix #175 (take 2): the cycle lookup used the bare style key — silent no-op
The shipped derivation looked up mt.Cycles[DefaultStyle]; the dat
Cycles dictionary is keyed by the COMBINED (style << 16) | substate
word (CMotionTable.cs:683), so the lookup always missed and the pose
override silently fell back to placement frames — user re-test: "175
is not fixed". The pins covered the override plumbing but not the
derivation, the one part with no offline fixture.

Extract the derivation to Core as MotionTablePose.DefaultStatePartFrames
using the retail SetDefaultState chain (StyleDefaults[DefaultStyle] ->
combined-key LookupCycle, same wrap arithmetic as CMotionTable.cs:683)
and pin it against the REAL dat (human MT 0x09000001 resolves a
34-part pose — this test fails on the old key math). Short poses now
apply PER PART (ShadowShapeBuilder already falls back per index) so a
door anim posing only the panels still overrides them while the
BSP-less header keeps its placement frame. [shape-pose] diagnostic
(ACDREAM_DUMP_MOTION) prints mt id + resolved part0 pose per BSP
registration so live launches show the actual outcome.

Suites: Core 2540 / App 713 / UI 425 / Net 385 green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 17:10:19 +02:00
..
AnimSequenceNode.cs feat(R1-P0/P1): CSequence research base + verbatim AnimSequenceNode 2026-07-02 19:45:56 +02:00
CMotionTable.cs feat(R2-Q2): verbatim CMotionTable — the GetObjectSequence dispatcher 2026-07-02 20:48:26 +02:00
ConstraintManager.cs feat(physics): R5-V1 — port PositionManager/Sticky/Constraint + TargetManager (Core, unwired) 2026-07-03 19:34:49 +02:00
CSequence.cs feat(R1-P4): verbatim update_internal / update / advance_to_next_animation 2026-07-02 20:05:04 +02:00
FrameOps.cs feat(R1-P4): verbatim update_internal / update / advance_to_next_animation 2026-07-02 20:05:04 +02:00
IPhysicsObjHost.cs feat(physics): R5-V1 — port PositionManager/Sticky/Constraint + TargetManager (Core, unwired) 2026-07-03 19:34:49 +02:00
MotionDeltaFrame.cs feat(physics): R5-V1 — port PositionManager/Sticky/Constraint + TargetManager (Core, unwired) 2026-07-03 19:34:49 +02:00
MotionNode.cs feat(R3-W1): retail state completion — action FIFOs, MovementParameters, MotionNode, WeenieError renumber (closes J2, J16-codes) 2026-07-02 22:12:33 +02:00
MotionState.cs feat(R2-Q1): verbatim MotionState (gap H2) 2026-07-02 20:31:16 +02:00
MotionTableDispatchSink.cs fix(R4-V5): moveto wedge - StopCompletely's missing animation dispatch orphaned pending_motions; + the P1 autonomous store family 2026-07-03 14:15:36 +02:00
MotionTableManager.cs feat(R2-Q3): verbatim MotionTableManager — the pending-animation queue (closes H3, H15-core) 2026-07-02 21:01:50 +02:00
MotionTablePose.cs fix #175 (take 2): the cycle lookup used the bare style key — silent no-op 2026-07-05 17:10:19 +02:00
MovementManager.cs feat(physics): R5-V5 — MovementManager facade owns each entity's interp+moveto pair 2026-07-05 11:12:19 +02:00
MovementParameters.cs feat(R4-V1): command-selection family + state widening (closes M2-mechanics, M11, M12, M15) 2026-07-03 11:13:15 +02:00
MoveToManager.cs chore(#170): strip the temp probes, close the issue (user visual gate PASSED) 2026-07-04 22:31:00 +02:00
MoveToMath.cs feat(physics): R5-V1 — port PositionManager/Sticky/Constraint + TargetManager (Core, unwired) 2026-07-03 19:34:49 +02:00
MoveToNode.cs feat(R4-V2): MoveToManager verbatim - all 33 members + conformance harness (closes M1/M3/M4/M5/M6/M10/M14-core) 2026-07-03 11:43:50 +02:00
PositionManager.cs feat(physics): R5-V1 — port PositionManager/Sticky/Constraint + TargetManager (Core, unwired) 2026-07-03 19:34:49 +02:00
StickyManager.cs fix(#171): sticky deep-overlap back-off sign pin — the runaway-to-center (gate-2 residual) 2026-07-05 09:51:24 +02:00
TargetManager.cs feat(physics): R5-V1 — port PositionManager/Sticky/Constraint + TargetManager (Core, unwired) 2026-07-03 19:34:49 +02:00
TargettedVoyeurInfo.cs feat(physics): R5-V1 — port PositionManager/Sticky/Constraint + TargetManager (Core, unwired) 2026-07-03 19:34:49 +02:00