rnd(M02): extract third-person camera rig #24
@@ -83,8 +83,36 @@ no-collision sandbox baseline.
|
||||
|
||||
## Status
|
||||
|
||||
- State: active
|
||||
- Done: claim and isolated worktree from updated master
|
||||
- Next: implement rig/policy, migrate scenes/player, test and document
|
||||
- State: ready-for-review
|
||||
- Done: extracted rig and collision policy, migrated all three scene compositions,
|
||||
added regressions and completed required module documentation
|
||||
- Next: milestone integrator reviews and merges `8c1cf9b`
|
||||
- Blocked by:
|
||||
|
||||
<!-- OPENWC_HANDOFF:READY:M02-RND-CAMERA-001:8c1cf9b -->
|
||||
|
||||
## Handoff
|
||||
|
||||
- Outcome: `ThirdPersonCameraRig` now owns capture, orbit, zoom and camera
|
||||
transforms; `ThirdPersonWowController` only dispatches camera events and
|
||||
consumes the rig basis for sandbox flight.
|
||||
- Public contracts: `initialize_for_character`, `handle_camera_input`,
|
||||
`godot_world_flight_movement_basis`, `set_collision_policy`, read-only state,
|
||||
and `CameraCollisionPolicy.resolve_camera_distance`.
|
||||
- Verification: camera `state_cases=12 policy_cases=3 scenes=3`, input
|
||||
`actions=12 intent_cases=6`, movement `cases=12 state_transitions=2`, terrain
|
||||
`contract=4 interpolation=1 cache=1 failures=2`, coordinate boundary
|
||||
`files=98 consumers=5`; documentation, coordination and diff checks passed.
|
||||
- Renderer dry-run: seven checkpoint plans and report completed; expected
|
||||
diagnostics only for unavailable proprietary corpus/character GLB.
|
||||
- Fidelity: preserves the sandbox defaults (`-18 degrees`, distance `8`, zoom
|
||||
`2..18` step `1`, sensitivity `0.003`, pivot `1.7`, far `50000`) and the prior
|
||||
no-collision behavior. No build-12340 parity claim is made.
|
||||
- Local ignored inputs: native extension DLL and generated ADT resource scripts
|
||||
were used for the renderer dry-run and are not part of the commit.
|
||||
- Migration: none; `ThirdPersonPlayer/CameraPivot/Camera3D` remains stable.
|
||||
- Risks: active collision and exact original-client camera semantics remain
|
||||
unverified; exported initial values are captured at ready; mouse mode is
|
||||
process-global.
|
||||
- Documentation: added the camera API/module spec plus data-flow, state and
|
||||
sequence diagrams; updated player-input and local-movement consumer maps.
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
| Status | Implemented |
|
||||
| Target/work package | M02 / M02-GMP-MOVEMENT-001, M02-RND-CAMERA-001 basis producer update |
|
||||
| Owners | Gameplay local movement state; scene composition owns the instance |
|
||||
| Last verified | `working tree`, 2026-07-14 |
|
||||
| Last verified | `8c1cf9b`, 2026-07-14 |
|
||||
| Profiles/capabilities | Current render sandbox; production/debug profile gate pending |
|
||||
|
||||
## Purpose
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
| Status | Partial |
|
||||
| Target/work package | M02 / M02-GMP-INPUT-001, M02-GMP-MOVEMENT-001 and M02-RND-CAMERA-001 consumer updates |
|
||||
| Owners | Gameplay input boundary; `sindo-main-codex` for current package |
|
||||
| Last verified | `working tree`, 2026-07-14 |
|
||||
| Last verified | `8c1cf9b`, 2026-07-14 |
|
||||
| Profiles/capabilities | Current render-sandbox defaults; `Blizzlike335` binding semantics not yet verified |
|
||||
|
||||
## Purpose
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
| Status | Implemented |
|
||||
| Target/work package | M02 / M02-RND-CAMERA-001 |
|
||||
| Owners | Camera presentation state and CameraPivot/Camera3D lifecycle |
|
||||
| Last verified | `working tree`, 2026-07-14 |
|
||||
| Last verified | `8c1cf9b`, 2026-07-14 |
|
||||
| Profiles/capabilities | Current sandbox orbit/zoom; identity collision policy |
|
||||
|
||||
## Purpose
|
||||
|
||||
Reference in New Issue
Block a user