rnd(M02): extract third-person camera rig #24
@@ -83,8 +83,36 @@ no-collision sandbox baseline.
|
|||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
- State: active
|
- State: ready-for-review
|
||||||
- Done: claim and isolated worktree from updated master
|
- Done: extracted rig and collision policy, migrated all three scene compositions,
|
||||||
- Next: implement rig/policy, migrate scenes/player, test and document
|
added regressions and completed required module documentation
|
||||||
|
- Next: milestone integrator reviews and merges `8c1cf9b`
|
||||||
- Blocked by:
|
- 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 |
|
| Status | Implemented |
|
||||||
| Target/work package | M02 / M02-GMP-MOVEMENT-001, M02-RND-CAMERA-001 basis producer update |
|
| 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 |
|
| 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 |
|
| Profiles/capabilities | Current render sandbox; production/debug profile gate pending |
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
| Status | Partial |
|
| Status | Partial |
|
||||||
| Target/work package | M02 / M02-GMP-INPUT-001, M02-GMP-MOVEMENT-001 and M02-RND-CAMERA-001 consumer updates |
|
| 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 |
|
| 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 |
|
| Profiles/capabilities | Current render-sandbox defaults; `Blizzlike335` binding semantics not yet verified |
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
| Status | Implemented |
|
| Status | Implemented |
|
||||||
| Target/work package | M02 / M02-RND-CAMERA-001 |
|
| Target/work package | M02 / M02-RND-CAMERA-001 |
|
||||||
| Owners | Camera presentation state and CameraPivot/Camera3D lifecycle |
|
| 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 |
|
| Profiles/capabilities | Current sandbox orbit/zoom; identity collision policy |
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|||||||
Reference in New Issue
Block a user