From 50bdd7b2bd186b4d57b435f266d599524d7119d0 Mon Sep 17 00:00:00 2001 From: Aiden Date: Sun, 3 May 2026 12:03:20 +1000 Subject: [PATCH] app adjustments --- README.md | 14 ++ ui/src/App.jsx | 27 ++- ui/src/components/StackPresetToolbar.jsx | 24 ++- ui/src/components/StatusPanels.jsx | 10 +- ui/src/styles.css | 235 +++++++++++++++++------ 5 files changed, 228 insertions(+), 82 deletions(-) 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.

+
+ +
+ +
+
-
+