OSC stubs
This commit is contained in:
@@ -34,7 +34,7 @@ Primary source areas:
|
||||
- `src/runtime/shader`: background Slang build bridge and prepared shader artifact types
|
||||
- `src/runtime/state`: runtime JSON helpers, parameter normalization, and debounced runtime-state persistence
|
||||
- `src/runtime/text`: MSDF/MTSDF font atlas build and CPU-side prepared text texture composition
|
||||
- `src/control`: command parsing, HTTP/WebSocket transport helpers, OpenAPI state JSON
|
||||
- `src/control`: command parsing, HTTP/WebSocket transport helpers, OSC status stub, OpenAPI state JSON
|
||||
- `src/app/RenderCadenceHttpRoutes.*`: this app's current HTTP endpoint map
|
||||
- `src/preview`: optional non-consuming preview window
|
||||
- `src/telemetry` and `src/logging`: runtime observation and logging
|
||||
@@ -170,6 +170,8 @@ Unsupported routes return an action response with `ok: false`.
|
||||
|
||||
Forks can reuse the HTTP/WebSocket shell without keeping these endpoints by installing a different route callback.
|
||||
|
||||
`OscControlServer` is currently a lifecycle/status stub. It consumes startup OSC config, exposes configured/disabled/not-listening state through `/api/state`, and leaves UDP socket receive, OSC decode, and runtime dispatch unimplemented until that ingress boundary is built deliberately.
|
||||
|
||||
## Tests
|
||||
|
||||
Native tests cover the main non-GL contracts:
|
||||
|
||||
@@ -21,7 +21,7 @@ These parts are the useful base for the fork:
|
||||
- `src/render/readback`: BGRA8/UYVY8 PBO readback and completed-frame publication.
|
||||
- `src/platform`: hidden GL window/context support.
|
||||
- `src/app`: startup, config, video backend factory, runtime layer orchestration, preview, telemetry, and HTTP server hookup.
|
||||
- `src/control/http`, `src/telemetry`, `src/logging`, and `ui`: useful if the new repo still wants a local control surface.
|
||||
- `src/control/http`, `src/control/osc`, `src/telemetry`, `src/logging`, and `ui`: useful if the new repo still wants a local control surface. `control/osc` is currently a status/lifecycle stub, not a UDP listener.
|
||||
- `src/app/RenderCadenceHttpRoutes.*`: useful only if the new repo keeps this app's current `/api/...` control surface.
|
||||
|
||||
## Replace Or Rework
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# OSC Control
|
||||
|
||||
This is the intended OSC control contract, but OSC ingress is not wired in the current `RenderCadenceCompositor` native host yet. The config fields and UI copy buttons are present for compatibility; use the REST layer parameter endpoints or the control UI for live parameter changes today.
|
||||
This is the intended OSC control contract, but OSC ingress is not wired in the current `RenderCadenceCompositor` native host yet. The native host has an OSC service stub that consumes config and reports status in `/api/state`; it does not open a UDP listener or dispatch messages yet. Use the REST layer parameter endpoints or the control UI for live parameter changes today.
|
||||
|
||||
## Configuration
|
||||
|
||||
@@ -14,7 +14,7 @@ Set the UDP port in `config/runtime-host.json`:
|
||||
}
|
||||
```
|
||||
|
||||
When OSC ingress is implemented, `oscPort: 0` should disable the OSC listener, `oscBindAddress: "127.0.0.1"` should keep OSC local to the host, and `oscBindAddress: "0.0.0.0"` should listen on all IPv4 interfaces. `oscSmoothing` is reserved for a per-frame easing amount on numeric OSC controls.
|
||||
Today, `oscPort: 0` marks the OSC stub disabled and any nonzero port marks it configured but not listening. When OSC ingress is implemented, `oscBindAddress: "127.0.0.1"` should keep OSC local to the host, and `oscBindAddress: "0.0.0.0"` should listen on all IPv4 interfaces. `oscSmoothing` is reserved for a per-frame easing amount on numeric OSC controls.
|
||||
|
||||
## Address Pattern
|
||||
|
||||
|
||||
@@ -730,6 +730,8 @@ components:
|
||||
type: number
|
||||
previewFps:
|
||||
type: number
|
||||
osc:
|
||||
$ref: "#/components/schemas/AppOscStatus"
|
||||
input:
|
||||
type: object
|
||||
properties:
|
||||
@@ -771,6 +773,24 @@ components:
|
||||
alphaRequired:
|
||||
type: boolean
|
||||
description: General output alpha request. When true, automatic output pixel-format selection uses an alpha-carrying system-frame format.
|
||||
AppOscStatus:
|
||||
type: object
|
||||
properties:
|
||||
configured:
|
||||
type: boolean
|
||||
description: True when OSC has a nonzero configured port.
|
||||
listening:
|
||||
type: boolean
|
||||
description: False in the current native host because UDP OSC ingress is only stubbed.
|
||||
bindAddress:
|
||||
type: string
|
||||
port:
|
||||
type: number
|
||||
smoothing:
|
||||
type: number
|
||||
statusMessage:
|
||||
type: string
|
||||
additionalProperties: false
|
||||
RuntimeStatus:
|
||||
type: object
|
||||
properties:
|
||||
|
||||
Reference in New Issue
Block a user