refactor(render): establish frame orchestration contract
This commit is contained in:
parent
f316bbd817
commit
7e4cfb37c3
4 changed files with 489 additions and 5 deletions
|
|
@ -14,7 +14,7 @@ port, or resource-lifetime redesign.
|
|||
|
||||
## Progress ledger
|
||||
|
||||
- [ ] A — freeze the complete render graph, correct the architecture SSOT, and
|
||||
- [x] A — freeze the complete render graph, correct the architecture SSOT, and
|
||||
introduce data-only frame contracts plus deterministic order/failure tests.
|
||||
- [ ] B — extract paperdoll, panel-layout/devtools, and render-diagnostics leaf
|
||||
owners while `GameWindow` still orders the frame.
|
||||
|
|
@ -319,14 +319,24 @@ never choose a draw branch or mutate canonical world ownership.
|
|||
|
||||
- correct the stale render-pipeline and per-frame architecture sections;
|
||||
- add `RenderFrameInput`, phase interfaces, and a recording orchestrator;
|
||||
- pin normal order, portal replacement, login wait, indoor/outdoor/null-root
|
||||
branches, and screenshot placement; camera is an initialized runtime
|
||||
invariant, so the slice does not invent a new graceful missing-camera path;
|
||||
- pin the outer resource/world/private/diagnostic order across normal,
|
||||
portal-replacement, login-wait, and screenshot outcome shapes; defer the
|
||||
concrete indoor/outdoor/null-root branch tests to the world builder and scene
|
||||
owner in D/F; camera is an initialized runtime invariant, so the slice does
|
||||
not invent a new graceful missing-camera path;
|
||||
- pin the exact GPU begin/end exception matrix;
|
||||
- add source guards against `GameWindow` back-references, mega contexts, and a
|
||||
new PView delegate bag;
|
||||
- capture the current connected framebuffer/resource baseline.
|
||||
|
||||
Completed 2026-07-22. `RenderFrameOrchestrator` now owns the inert five-owner
|
||||
outer transaction contract; `GpuFrameFlightController` implements its narrow
|
||||
lifetime seam. Twenty-six focused render/GPU tests pin value-only contracts,
|
||||
required-owner construction, exact phase prefixes, per-phase input propagation,
|
||||
and every begin/render/close failure combination. Release build and the full
|
||||
suite pass (7,199 passed / 5 skipped after adding 17 tests). All three
|
||||
corrected-diff reviews are clean; production `GameWindow.OnRender` is unchanged.
|
||||
|
||||
### B — leaf presentation and diagnostics
|
||||
|
||||
- extract paperdoll refresh/pose/dirty/FBO ownership;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue