INtial text again

This commit is contained in:
2026-05-20 16:26:36 +10:00
parent 081364e764
commit e43ac21b2f
12 changed files with 608 additions and 15 deletions

View File

@@ -89,7 +89,6 @@ Intentionally not included yet:
- additional input format conversion/scaling
- temporal/history/feedback shader storage
- texture/LUT asset upload
- text-parameter rasterization and font atlas GL binding
- runtime state
- OSC control
- persistent control/state writes
@@ -142,7 +141,7 @@ This tracks parity with `apps/LoopThroughWithOpenGLCompositing`.
- [ ] Texture asset loading and upload
- [ ] LUT asset loading and upload
- [x] CPU-side MSDF/MTSDF font atlas generation cache
- [ ] Text parameter rasterization
- [x] Single-line text parameter rasterization and GL binding
- [ ] Trigger history/event buffers for overlapping repeated trigger effects
- [ ] Full runtime state store/read model
- [ ] Persistent layer stack/config writes
@@ -353,8 +352,7 @@ Current runtime shader support is deliberately limited to stateless full-frame p
- no temporal history
- no feedback storage
- no texture/LUT assets yet
- font atlas generation is CPU-side only; text parameter atlas upload/binding is not render-ready yet
- no text parameters yet
- text parameters are single-line ASCII masks backed by prepared MTSDF font atlases
- manifest defaults initialize parameters
- HTTP controls can update runtime parameter values without rebuilding GL programs when the shader program is unchanged
- trigger parameters are treated as latest-pulse controls: each press increments the trigger count and records the current runtime time
@@ -371,7 +369,7 @@ Shader source semantics:
- later layers receive `gVideoInput = original input` and `gLayerInput = previous layer`.
- named intermediate pass inputs inside a multipass layer are still routed through the selected pass-source slot; layer stacking should use `gLayerInput`.
The `/api/state` shader list uses the same support rules as runtime shader compilation and reports only packages this app can run today. Unsupported manifest feature sets such as temporal, feedback, texture-backed, font-backed, or text-parameter shaders are hidden from the control UI for now.
The `/api/state` shader list uses the same support rules as runtime shader compilation and reports only packages this app can run today. Unsupported manifest feature sets such as temporal, feedback, and texture-backed shaders are hidden from the control UI for now.
Runtime shaders are exposed through `RuntimeLayerModel` as display layers with manifest parameter definitions, current parameter values, build status, and render-ready artifacts. POST controls mutate this app-owned model and may start background shader builds when the selected shader changes.