Docs update
This commit is contained in:
@@ -10,7 +10,7 @@ Phase checklist:
|
||||
- [x] Finish live-state and service-facing coordination
|
||||
- [x] Make the render thread the sole GL owner
|
||||
- [x] Refactor live state layering into an explicit composition model
|
||||
- [ ] Move persistence onto a background snapshot writer
|
||||
- [x] Move persistence onto a background snapshot writer
|
||||
- [ ] Make DeckLink/backend lifecycle explicit with a state machine
|
||||
- [ ] Add structured health, telemetry, and operational reporting
|
||||
|
||||
@@ -21,7 +21,7 @@ Checklist note:
|
||||
- The checked Phase 3 item means the render-facing state path now has named live-state, composition, frame-state, resolver, and service-bridge boundaries. `OpenGLComposite::renderEffect()` is reduced to runtime work, frame input construction, and frame rendering.
|
||||
- The checked Phase 4 item means normal runtime GL work is now owned by a dedicated `RenderEngine` render thread. Input upload, output render, preview, screenshot capture, render-local resets, and shader application enter through render-thread queue/request paths instead of caller-thread context borrowing. The remaining output timing risk is callback-coupled synchronous output production, which is intentionally tracked for the later DeckLink/backend lifecycle and playout-queue work.
|
||||
- The checked Phase 5 item means persisted, committed/session, transient automation, and render-local state are explicitly named. `CommittedLiveState` physically owns current session layer state, `RuntimeLiveState` owns transient OSC overlays, `RenderStateComposer` consumes a layered input contract, and reset/reload/preset overlay invalidation is centralized and covered by non-GL tests.
|
||||
- It does not mean the whole app is fully extracted. Background persistence, backend lifecycle/playout queue policy, and richer telemetry continue through later phases.
|
||||
- It does not mean the whole app is fully extracted. Backend lifecycle/playout queue policy and richer telemetry continue through later phases.
|
||||
|
||||
## Timing Review
|
||||
|
||||
@@ -575,18 +575,19 @@ Expected benefits:
|
||||
|
||||
### Phase 6. Move persistence onto a background snapshot writer
|
||||
|
||||
After the state model is explicit, persistence should become a background concern rather than a synchronous side effect of mutations.
|
||||
Status: complete. Runtime-state persistence is now a background concern rather than a synchronous side effect of mutations.
|
||||
|
||||
Dedicated design note:
|
||||
|
||||
- [PHASE_6_BACKGROUND_PERSISTENCE_DESIGN.md](/c:/Users/Aiden/Documents/GitHub/video-shader-toys/docs/PHASE_6_BACKGROUND_PERSISTENCE_DESIGN.md)
|
||||
|
||||
Target behavior:
|
||||
Implemented behavior:
|
||||
|
||||
- mutations update authoritative in-memory stored state
|
||||
- persistence requests are queued
|
||||
- disk writes are debounced and coalesced
|
||||
- writes are atomic and versioned where practical
|
||||
- writes use temp-file replacement where practical
|
||||
- shutdown flush behavior is explicit and tested
|
||||
|
||||
Why this phase comes after state splitting:
|
||||
|
||||
@@ -688,7 +689,7 @@ This order tries to avoid doing foundational work twice.
|
||||
- The event model comes before major subsystem extraction so coordination patterns stabilize early.
|
||||
- runtime state ownership is split before render isolation so the render thread does not inherit a monolithic state model.
|
||||
- Live state layering is formalized only after render ownership is clearer.
|
||||
- Persistence is moved later so it can target the final state model rather than the current one.
|
||||
- Persistence moved after the state model split so it could target the durable snapshot model rather than an older mixed-responsibility runtime object.
|
||||
- Telemetry is intentionally late so it instruments the architecture that survives the refactor.
|
||||
|
||||
## Short Version
|
||||
@@ -700,7 +701,7 @@ The app is in a much better place than it was before the OSC timing work. The sh
|
||||
3. split state ownership
|
||||
4. isolate rendering
|
||||
5. formalize layered live state
|
||||
6. background persistence
|
||||
6. complete background persistence
|
||||
7. explicit backend lifecycle
|
||||
8. health and telemetry
|
||||
|
||||
|
||||
Reference in New Issue
Block a user