1.4 KiB
1.4 KiB
M02 — Player Decomposition
Outcome
Разделить тестового player controller на input, movement, camera, terrain query и presentation без изменения наблюдаемого поведения.
Steps
- Заменить hardcoded keys на remappable Input Map actions с профилем 3.3.5a.
- Выделить
PlayerInputSource → MoveIntent. - Выделить local movement state/controller.
- Выделить
TerrainQueryи убрать прямой ADT parsing из player. - Выделить third-person camera rig и camera collision policy.
- Выделить character appearance и animation presenters.
- Оставить sprint/flight debug-функции только в sandbox profile.
- Добавить movement/camera state tests и regression scene.
Fidelity evidence
Скорости, повороты, jump/fall/swim/fly, camera orbit/zoom и input semantics сверяются с клиентом 3.3.5a. Debug sprint не считается gameplay parity.
Exit criteria
Каждый компонент заменяем независимо; sandbox управляется не хуже baseline; gameplay logic не загружает визуальные assets.
Evidence
- Date:
- Revision/worktree:
- Commands:
- Results:
- Fidelity comparison:
- Changed files:
- Remaining risks: