refactor(camera): extract the update frame
Move fly/chase publication, combat target tracking, and local player projection behind typed runtime owners. Preserve the inbound-created projection/reconcile barrier while removing GameWindow callbacks and duplicate shadow helpers.
This commit is contained in:
parent
eeb0f6b45c
commit
947c61d2d7
19 changed files with 988 additions and 356 deletions
|
|
@ -22,9 +22,9 @@ never hidden behind a retry, delay, suppression flag, or reordered callback.
|
|||
collapse, streaming tick, and rescued-entity rebucketing.
|
||||
- [x] D — extract dispatcher/raw-mouse/combat input sampling without changing
|
||||
movement-command or UI-capture semantics.
|
||||
- [ ] E — extract the complete local-player teleport owner and wire it between
|
||||
- [x] E — extract the complete local-player teleport owner and wire it between
|
||||
the existing post-network liveness and player-mode auto-entry phases.
|
||||
- [ ] F — extract the shared player-mode lifecycle plus fly/chase/player
|
||||
- [x] F — extract the shared player-mode lifecycle plus fly/chase/player
|
||||
camera presentation and cut production over to one
|
||||
`UpdateFrameOrchestrator`.
|
||||
- [ ] G — delete the old `OnUpdate` bodies, callback facades, and obsolete
|
||||
|
|
@ -455,6 +455,20 @@ lines at this checkpoint, down from the slice baseline of 15,723.
|
|||
- measure line/field/method count. The target is below 8,000 lines, but the
|
||||
ownership/ordering exit criteria outrank the count.
|
||||
|
||||
**Checkpoint F completed 2026-07-22.** `CameraFrameController` now owns fly
|
||||
held input, retail chase adjustment, the inbound-created-player projection
|
||||
and second reconcile, both chase-camera publications, and combat-target
|
||||
tracking. `RetailLocalPlayerFrameController` and
|
||||
`LocalPlayerProjectionController` resolve current identity, session, world,
|
||||
shadow, and player slots through focused typed runtimes instead of callbacks
|
||||
into `GameWindow`; the camera receives only the two-read player-presentation
|
||||
seam. Projection and frame owners remain composition locals, so the window
|
||||
retains no duplicate lifecycle state. Focused Release tests are green at
|
||||
37/37, the App suite at 2,820 passed / 3 skipped, and the full suite at 7,179
|
||||
passed / 5 skipped. All three corrected-diff reviews are clean.
|
||||
`GameWindow.cs` is 7,160 lines, down 8,563 lines (54.5%) from the 15,723-line
|
||||
slice baseline.
|
||||
|
||||
### H — release and connected gates
|
||||
|
||||
After all three independent corrected-diff reviews are clean:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue