diff --git a/README.md b/README.md index af3f7cd..7d2f0d9 100644 --- a/README.md +++ b/README.md @@ -119,18 +119,32 @@ Current native test coverage includes: { "shaderLibrary": "shaders", "serverPort": 8080, + "videoFormat": "1080p", + "frameRate": "59.94", "autoReload": true, "maxTemporalHistoryFrames": 12, "enableExternalKeying": true } ``` +`videoFormat` and `frameRate` select the DeckLink capture/playout display mode. Common examples include `720p`/`50`, `720p`/`59.94`, `1080i`/`50`, `1080i`/`59.94`, `1080p`/`25`, `1080p`/`50`, `1080p`/`59.94`, and `2160p`/`59.94`, depending on card support. + The control UI is available at: ```text http://127.0.0.1: ``` +## Control API + +The local REST control API is documented as an OpenAPI/Swagger spec: + +```text +docs/openapi.yaml +``` + +Load that file in Swagger UI, Redoc, or another OpenAPI viewer to inspect the `/api/state`, layer control, stack preset, and reload endpoints. Live state updates are also sent over the `/ws` WebSocket. + ## Shader Packages Each shader package lives under: diff --git a/ui/src/App.jsx b/ui/src/App.jsx index 1db12d4..1940394 100644 --- a/ui/src/App.jsx +++ b/ui/src/App.jsx @@ -56,15 +56,26 @@ function App() { return (
- +
+
+

Video Shader Toys

+

Live shader stack, DeckLink status, and runtime controls.

+
+
+ {runtime.compileSucceeded ? "Ready" : "Compile Error"} +
+
- +
+ + +
-
+
+
+
+

Stack Presets

+

Save or recall the current layer chain.

+
+ +
+ +
+
-
+