OSC stubs
All checks were successful
CI / React UI Build (push) Successful in 12s
CI / Native Windows Build And Tests (push) Successful in 2m11s
CI / Windows Release Package (push) Has been skipped

This commit is contained in:
Aiden
2026-05-30 20:42:38 +10:00
parent 04e0802ef2
commit 0f3db3ba1b
18 changed files with 298 additions and 16 deletions

View File

@@ -199,9 +199,9 @@ Currently consumed fields:
- `serverPort`
- `shaderLibrary`
- `oscBindAddress` (reported for compatibility; OSC ingress is not wired yet)
- `oscPort` (reported for compatibility; OSC ingress is not wired yet)
- `oscSmoothing` (reported for compatibility; OSC ingress is not wired yet)
- `oscBindAddress` (reported through the OSC service stub; UDP ingress is not wired yet)
- `oscPort` (use `0` to mark the OSC stub disabled; UDP ingress is not wired yet)
- `oscSmoothing` (reported through the OSC service stub; smoothing is reserved for future OSC ingress)
- `input.backend`
- `input.device`
- `input.resolution`
@@ -263,6 +263,8 @@ Current endpoints:
The HTTP server runs on its own thread. `control/http/HttpControlServer` owns socket lifetime, HTTP parsing, static UI/docs helpers, and WebSocket transport. The Render Cadence endpoint map lives in `app/RenderCadenceHttpRoutes`, which samples/copies telemetry through callbacks and translates POST bodies into runtime control commands. A fork can keep the HTTP/WebSocket shell and install a different route callback without inheriting this app's `/api/...` surface. Command execution is app-owned, so future OSC ingress can create the same commands without depending on HTTP route code. Control commands may update the display layer model, request debounced runtime-state persistence, start background shader builds, or publish an already-built render-layer snapshot, but they do not call render work or DeckLink scheduling directly.
`control/osc/OscControlServer` is currently a lifecycle/status stub. It consumes the startup OSC config and reports whether OSC is configured or disabled, but it deliberately does not open a UDP socket or dispatch parameter changes yet.
## Optional DeckLink Output
DeckLink output is an optional edge service in this app.
@@ -464,6 +466,7 @@ This app keeps the same core behavior but splits it into modules that can grow:
- `runtime/text/`: font atlas build and prepared text texture composition
- `control/`: control action results and runtime-state JSON presentation
- `control/http/`: local HTTP transport, static UI/OpenAPI serving helpers, and WebSocket updates
- `control/osc/`: OSC service lifecycle/status stub; no UDP listener or dispatch yet
- `app/RenderCadenceHttpRoutes`: this app's `/api/...` endpoint map behind the reusable HTTP server route callback
- `json/`: compact JSON serialization helpers
- `video/`: DeckLink output wrapper and scheduling thread