Files
Aiden 2531d871e8
All checks were successful
CI / React UI Build (push) Successful in 10s
CI / Native Windows Build And Tests (push) Successful in 2m49s
CI / Windows Release Package (push) Successful in 3m8s
Doc cleanup
2026-05-12 01:37:20 +10:00

2.6 KiB

Subsystem Notes Index

The current, phase-free architecture summary is:

Start there when you want to understand how the application works now.

This directory contains deeper notes for individual subsystem boundaries. These notes were originally written during the phased architecture work, so some files may still mention migration steps or target-state language. Treat them as companion notes, not as the source of truth when they disagree with the current architecture summary.

  1. Current System Architecture
  2. RuntimeStore
  3. RuntimeCoordinator
  4. RuntimeSnapshotProvider
  5. ControlServices
  6. RenderEngine
  7. VideoBackend
  8. HealthTelemetry

That order follows the current ownership story:

  • durable state first
  • mutation and publication next
  • control ingress after that
  • render ownership and video timing next
  • operational visibility last

Subsystem Notes

  • RuntimeStore: durable runtime-state facade over layer-stack, config, package-catalog, presentation, and persistence boundaries.
  • RuntimeCoordinator: mutation validation, state classification, reset/reload policy, and publication/persistence requests.
  • RuntimeSnapshotProvider: render-facing snapshot publication boundary backed by explicit render snapshot building/versioning.
  • ControlServices: OSC, HTTP/WebSocket, and file-watch ingress plus normalization and service-local buffering.
  • RenderEngine: GL ownership boundary, render-local transient state, preview, and playout-ready frame production.
  • VideoBackend: device lifecycle, input/output pacing, buffer policy, and producer/consumer playout behavior.
  • HealthTelemetry: logs, warnings, counters, timing traces, and subsystem health snapshots.

Historical Documents

The docs/PHASE_* files and experiment logs record how the architecture evolved. They are useful when you need rationale, investigation history, or rejected paths, but they are no longer arranged as the main feature split for the app.

For current implementation work, use Current System Architecture as the entry point and only dip into the phase documents when you need context for why a subsystem ended up this way.