From a0cc86f189e0f68da8376819e7f4ae8265f89fe9 Mon Sep 17 00:00:00 2001 From: Aiden Date: Fri, 8 May 2026 18:11:26 +1000 Subject: [PATCH] description updates --- shaders/anamorphic-desqueeze/shader.json | 65 ++++- shaders/balatro-swirl/shader.json | 101 +++++--- shaders/broken-shader-example/shader.json | 3 +- shaders/composition-guides/shader.json | 46 ++-- shaders/data-mosh/shader.json | 42 ++- shaders/dvd-bounce/shader.json | 23 +- shaders/ether/shader.json | 83 ++++-- shaders/false-color/shader.json | 24 +- .../shader.json | 119 ++++++--- shaders/fisheye-reproject/shader.json | 158 ++++++++---- shaders/gaussian-blur/shader.json | 35 ++- shaders/greenscreen-key/shader.json | 240 +++++++++++++----- shaders/happy-accident/shader.json | 41 +-- shaders/lift-gamma-gain/shader.json | 41 ++- shaders/lut-apply/shader.json | 37 +-- shaders/multipass-test/shader.json | 26 +- shaders/pixelate/shader.json | 38 ++- shaders/safe-area-guides/shader.json | 76 ++++-- shaders/singularity/shader.json | 73 ++++-- shaders/solid-color/shader.json | 8 +- shaders/temporal-echo/shader.json | 31 ++- shaders/temporal-ghost-trail/shader.json | 14 +- shaders/temporal-low-fps/shader.json | 18 +- shaders/text-overlay/shader.json | 53 +++- shaders/trigger-ripple/shader.json | 42 ++- shaders/utc-clock/shader.json | 22 +- shaders/vhs/shader.json | 89 ++++--- shaders/video-cube/shader.json | 28 +- shaders/video-transform/shader.json | 68 +++-- shaders/waveform-overlay/shader.json | 88 ++++--- shaders/xyla-exposure-chart/shader.json | 68 +++-- 31 files changed, 1231 insertions(+), 569 deletions(-) diff --git a/shaders/anamorphic-desqueeze/shader.json b/shaders/anamorphic-desqueeze/shader.json index 3a41ae1..51a9b08 100644 --- a/shaders/anamorphic-desqueeze/shader.json +++ b/shaders/anamorphic-desqueeze/shader.json @@ -11,11 +11,24 @@ "type": "enum", "default": "x1_33", "options": [ - { "value": "x1_3", "label": "1.3x" }, - { "value": "x1_33", "label": "1.33x" }, - { "value": "x1_5", "label": "1.5x" }, - { "value": "x2_0", "label": "2x" } - ] + { + "value": "x1_3", + "label": "1.3x" + }, + { + "value": "x1_33", + "label": "1.33x" + }, + { + "value": "x1_5", + "label": "1.5x" + }, + { + "value": "x2_0", + "label": "2x" + } + ], + "description": "Horizontal stretch factor matching the anamorphic lens or adapter." }, { "id": "framing", @@ -23,24 +36,50 @@ "type": "enum", "default": "fit", "options": [ - { "value": "fit", "label": "Fit" }, - { "value": "fill", "label": "Fill" } - ] + { + "value": "fit", + "label": "Fit" + }, + { + "value": "fill", + "label": "Fill" + } + ], + "description": "Fit preserves the whole image; Fill crops to remove borders." }, { "id": "pan", "label": "Pan", "type": "vec2", - "default": [0.0, 0.0], - "min": [-1.0, -1.0], - "max": [1.0, 1.0], - "step": [0.001, 0.001] + "default": [ + 0, + 0 + ], + "min": [ + -1, + -1 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Reframes the desqueezed image after fit/fill scaling." }, { "id": "outsideColor", "label": "Outside Color", "type": "color", - "default": [0.0, 0.0, 0.0, 1.0] + "default": [ + 0, + 0, + 0, + 1 + ], + "description": "Color used where the remapped image samples outside the source frame." } ] } diff --git a/shaders/balatro-swirl/shader.json b/shaders/balatro-swirl/shader.json index c923e1c..91584c5 100644 --- a/shaders/balatro-swirl/shader.json +++ b/shaders/balatro-swirl/shader.json @@ -9,37 +9,41 @@ "id": "spinRotation", "label": "Spin Rotation", "type": "float", - "default": -2.0, - "min": -8.0, - "max": 8.0, - "step": 0.05 + "default": -2, + "min": -8, + "max": 8, + "step": 0.05, + "description": "Base rotation applied to the swirl field." }, { "id": "spinSpeed", "label": "Spin Speed", "type": "float", - "default": 7.0, - "min": 0.0, - "max": 20.0, - "step": 0.1 + "default": 7, + "min": 0, + "max": 20, + "step": 0.1, + "description": "How quickly the swirl pattern rotates." }, { "id": "spinAmount", "label": "Spin Amount", "type": "float", "default": 0.25, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Amount of radial twisting in the swirl." }, { "id": "spinEase", "label": "Spin Ease", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 3.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 3, + "step": 0.01, + "description": "Changes how strongly the twist falls off from the center." }, { "id": "contrast", @@ -47,59 +51,94 @@ "type": "float", "default": 3.5, "min": 0.5, - "max": 8.0, - "step": 0.05 + "max": 8, + "step": 0.05, + "description": "Adjusts separation between dark and bright areas." }, { "id": "lighting", "label": "Lighting", "type": "float", "default": 0.4, - "min": 0.0, + "min": 0, "max": 1.5, - "step": 0.01 + "step": 0.01, + "description": "Strength of the highlight/shadow modulation." }, { "id": "offset", "label": "Offset", "type": "vec2", - "default": [0.0, 0.0], - "min": [-1.0, -1.0], - "max": [1.0, 1.0], - "step": [0.001, 0.001] + "default": [ + 0, + 0 + ], + "min": [ + -1, + -1 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Moves the generated field in normalized coordinates." }, { "id": "colour1", "label": "Colour 1", "type": "color", - "default": [0.871, 0.267, 0.231, 1.0] + "default": [ + 0.871, + 0.267, + 0.231, + 1 + ], + "description": "Primary warm swirl color." }, { "id": "colour2", "label": "Colour 2", "type": "color", - "default": [0.0, 0.42, 0.706, 1.0] + "default": [ + 0, + 0.42, + 0.706, + 1 + ], + "description": "Secondary cool swirl color." }, { "id": "colour3", "label": "Colour 3", "type": "color", - "default": [0.086, 0.137, 0.145, 1.0] + "default": [ + 0.086, + 0.137, + 0.145, + 1 + ], + "description": "Dark base color in the swirl." }, { "id": "isRotate", "label": "Rotate Field", "type": "bool", - "default": false + "default": false, + "description": "Rotates the whole generated field over time." }, { "id": "sourceMix", "label": "Source Mix", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 0, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Blends the generated effect with the incoming video." } ] } diff --git a/shaders/broken-shader-example/shader.json b/shaders/broken-shader-example/shader.json index 1cbf9dc..7befab7 100644 --- a/shaders/broken-shader-example/shader.json +++ b/shaders/broken-shader-example/shader.json @@ -9,7 +9,8 @@ "id": "badToggle", "label": "Bad Toggle", "type": "boolean", - "default": true + "default": true, + "description": "Intentionally unsupported parameter type used to test shader error handling." } ] } diff --git a/shaders/composition-guides/shader.json b/shaders/composition-guides/shader.json index 665daba..8d47c09 100644 --- a/shaders/composition-guides/shader.json +++ b/shaders/composition-guides/shader.json @@ -9,55 +9,67 @@ "id": "showThirds", "label": "Rule of Thirds", "type": "bool", - "default": true + "default": true, + "description": "Shows vertical and horizontal thirds lines." }, { "id": "showCrosshair", "label": "Center Crosshair", "type": "bool", - "default": true + "default": true, + "description": "Shows a center crosshair for lens/framing alignment." }, { "id": "lineColor", "label": "Line Color", "type": "color", - "default": [1.0, 1.0, 1.0, 1.0] + "default": [ + 1, + 1, + 1, + 1 + ], + "description": "Color used for guide lines and marks." }, { "id": "lineOpacity", "label": "Line Opacity", "type": "float", "default": 0.65, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Overall visibility of the guide lines." }, { "id": "lineThicknessPixels", "label": "Line Thickness", "type": "float", - "default": 2.0, + "default": 2, "min": 0.5, - "max": 12.0, - "step": 0.1 + "max": 12, + "step": 0.1, + "description": "Guide line width in output pixels." }, { "id": "crosshairSizePixels", "label": "Crosshair Size", "type": "float", - "default": 54.0, - "min": 8.0, - "max": 240.0, - "step": 1.0 + "default": 54, + "min": 8, + "max": 240, + "step": 1, + "description": "Length of each crosshair arm in output pixels." }, { "id": "crosshairGapPixels", "label": "Crosshair Gap", "type": "float", - "default": 10.0, - "min": 0.0, - "max": 80.0, - "step": 1.0 + "default": 10, + "min": 0, + "max": 80, + "step": 1, + "description": "Empty gap around the exact frame center." } ] } diff --git a/shaders/data-mosh/shader.json b/shaders/data-mosh/shader.json index 4ec19f9..d283e0b 100644 --- a/shaders/data-mosh/shader.json +++ b/shaders/data-mosh/shader.json @@ -15,36 +15,52 @@ "label": "Amount", "type": "float", "default": 0.45, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Strength of the blocky temporal smear." }, { "id": "blockCount", "label": "Block Count", "type": "vec2", - "default": [32.0, 18.0], - "min": [2.0, 2.0], - "max": [160.0, 120.0], - "step": [1.0, 1.0] + "default": [ + 32, + 18 + ], + "min": [ + 2, + 2 + ], + "max": [ + 160, + 120 + ], + "step": [ + 1, + 1 + ], + "description": "Number of glitch blocks across X and Y." }, { "id": "tearAmount", "label": "Tear", "type": "float", "default": 0.18, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Horizontal scanline tearing intensity." }, { "id": "chromaShift", "label": "Chroma Shift", "type": "float", "default": 1.8, - "min": 0.0, - "max": 12.0, - "step": 0.1 + "min": 0, + "max": 12, + "step": 0.1, + "description": "Separate color-channel offset in pixels." } ] } diff --git a/shaders/dvd-bounce/shader.json b/shaders/dvd-bounce/shader.json index 3ab93b4..1bdbfca 100644 --- a/shaders/dvd-bounce/shader.json +++ b/shaders/dvd-bounce/shader.json @@ -18,7 +18,8 @@ "default": 0.28, "min": 0.12, "max": 0.5, - "step": 0.01 + "step": 0.01, + "description": "Logo size relative to the frame." }, { "id": "bounceSpeed", @@ -27,34 +28,38 @@ "default": 0.22, "min": 0.02, "max": 0.8, - "step": 0.01 + "step": 0.01, + "description": "How fast the logo moves between edge hits." }, { "id": "edgePadding", "label": "Edge Padding", "type": "float", "default": 0.018, - "min": 0.0, + "min": 0, "max": 0.08, - "step": 0.001 + "step": 0.001, + "description": "Inset distance from the frame edges." }, { "id": "glowAmount", "label": "Glow", "type": "float", "default": 0.18, - "min": 0.0, + "min": 0, "max": 0.75, - "step": 0.01 + "step": 0.01, + "description": "Adds a soft colored glow around the logo." }, { "id": "baseAlpha", "label": "Alpha", "type": "float", - "default": 1.0, + "default": 1, "min": 0.05, - "max": 1.0, - "step": 0.01 + "max": 1, + "step": 0.01, + "description": "Overall opacity of the overlay." } ] } diff --git a/shaders/ether/shader.json b/shaders/ether/shader.json index 2aa9f54..8a56d58 100644 --- a/shaders/ether/shader.json +++ b/shaders/ether/shader.json @@ -9,10 +9,11 @@ "id": "speed", "label": "Speed", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 4.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 4, + "step": 0.01, + "description": "Animation speed multiplier; set to 0 to pause motion." }, { "id": "depth", @@ -20,65 +21,95 @@ "type": "float", "default": 2.5, "min": 0.2, - "max": 8.0, - "step": 0.01 + "max": 8, + "step": 0.01, + "description": "Raymarch depth through the ether volume." }, { "id": "density", "label": "Density", "type": "float", "default": 0.7, - "min": 0.0, - "max": 2.0, - "step": 0.01 + "min": 0, + "max": 2, + "step": 0.01, + "description": "Density of the volumetric strands." }, { "id": "brightness", "label": "Brightness", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 3.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 3, + "step": 0.01, + "description": "Adjusts the generated effect brightness." }, { "id": "contrast", "label": "Contrast", "type": "float", - "default": 1.0, + "default": 1, "min": 0.25, - "max": 3.0, - "step": 0.01 + "max": 3, + "step": 0.01, + "description": "Adjusts separation between dark and bright areas." }, { "id": "offset", "label": "Offset", "type": "vec2", - "default": [0.9, 0.5], - "min": [0.0, 0.0], - "max": [2.0, 2.0], - "step": [0.001, 0.001] + "default": [ + 0.9, + 0.5 + ], + "min": [ + 0, + 0 + ], + "max": [ + 2, + 2 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Moves the generated field in normalized coordinates." }, { "id": "baseColor", "label": "Base Color", "type": "color", - "default": [0.1, 0.3, 0.4, 1.0] + "default": [ + 0.1, + 0.3, + 0.4, + 1 + ], + "description": "Low-energy color used in the generated field." }, { "id": "energyColor", "label": "Energy Color", "type": "color", - "default": [1.0, 0.5, 0.6, 1.0] + "default": [ + 1, + 0.5, + 0.6, + 1 + ], + "description": "High-energy color used in the generated field." }, { "id": "sourceMix", "label": "Source Mix", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 0, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Blends the generated effect with the incoming video." } ] } diff --git a/shaders/false-color/shader.json b/shaders/false-color/shader.json index 11ac283..4b504ca 100644 --- a/shaders/false-color/shader.json +++ b/shaders/false-color/shader.json @@ -9,34 +9,38 @@ "id": "blendAmount", "label": "Blend", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Mix amount for the processed result." }, { "id": "showLuma", "label": "Show Luma", "type": "bool", - "default": false + "default": false, + "description": "Shows grayscale luminance before applying false-color mapping." }, { "id": "lift", "label": "Lift", "type": "float", - "default": 0.0, + "default": 0, "min": -0.25, "max": 0.25, - "step": 0.001 + "step": 0.001, + "description": "Offsets luminance before false-color mapping." }, { "id": "gain", "label": "Gain", "type": "float", - "default": 1.0, + "default": 1, "min": 0.25, - "max": 2.0, - "step": 0.01 + "max": 2, + "step": 0.01, + "description": "Scales luminance before false-color mapping." } ] } diff --git a/shaders/fisheye-equirectangular-mirror/shader.json b/shaders/fisheye-equirectangular-mirror/shader.json index d4d9fdb..d4d1bae 100644 --- a/shaders/fisheye-equirectangular-mirror/shader.json +++ b/shaders/fisheye-equirectangular-mirror/shader.json @@ -9,55 +9,85 @@ "id": "lensFovDegrees", "label": "Lens FOV", "type": "float", - "default": 190.0, - "min": 1.0, - "max": 220.0, - "step": 0.1 + "default": 190, + "min": 1, + "max": 220, + "step": 0.1, + "description": "Actual fisheye lens field of view in degrees." }, { "id": "center", "label": "Optical Center", "type": "vec2", - "default": [0.5, 0.5], - "min": [0.0, 0.0], - "max": [1.0, 1.0], - "step": [0.001, 0.001] + "default": [ + 0.5, + 0.5 + ], + "min": [ + 0, + 0 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Normalized position in the frame, where 0.5, 0.5 is center." }, { "id": "radius", "label": "Fisheye Radius", "type": "vec2", - "default": [0.5, 0.8889], - "min": [0.001, 0.001], - "max": [2.0, 2.0], - "step": [0.001, 0.001] + "default": [ + 0.5, + 0.8889 + ], + "min": [ + 0.001, + 0.001 + ], + "max": [ + 2, + 2 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Normalized fisheye radius; adjust X/Y when the image is cropped or squeezed." }, { "id": "yawDegrees", "label": "Yaw", "type": "float", - "default": 0.0, - "min": -180.0, - "max": 180.0, - "step": 0.1 + "default": 0, + "min": -180, + "max": 180, + "step": 0.1, + "description": "Rotates the virtual view horizontally." }, { "id": "pitchDegrees", "label": "Pitch", "type": "float", - "default": 0.0, - "min": -120.0, - "max": 120.0, - "step": 0.1 + "default": 0, + "min": -120, + "max": 120, + "step": 0.1, + "description": "Rotates the virtual view vertically." }, { "id": "rollDegrees", "label": "Roll", "type": "float", - "default": 0.0, - "min": -180.0, - "max": 180.0, - "step": 0.1 + "default": 0, + "min": -180, + "max": 180, + "step": 0.1, + "description": "Live roll rotation around the viewing axis." }, { "id": "fisheyeModel", @@ -65,35 +95,56 @@ "type": "enum", "default": "equidistant", "options": [ - { "value": "equidistant", "label": "Equidistant" }, - { "value": "equisolid", "label": "Equisolid" }, - { "value": "stereographic", "label": "Stereographic" }, - { "value": "orthographic", "label": "Orthographic" } - ] + { + "value": "equidistant", + "label": "Equidistant" + }, + { + "value": "equisolid", + "label": "Equisolid" + }, + { + "value": "stereographic", + "label": "Stereographic" + }, + { + "value": "orthographic", + "label": "Orthographic" + } + ], + "description": "Projection model used by the physical fisheye lens." }, { "id": "edgeFill", "label": "Edge Fill", "type": "float", "default": 0.06, - "min": 0.0, + "min": 0, "max": 0.3, - "step": 0.001 + "step": 0.001, + "description": "Extends edge samples outward to cover small missing areas." }, { "id": "edgeBlur", "label": "Edge Blur", "type": "float", "default": 0.018, - "min": 0.0, + "min": 0, "max": 0.12, - "step": 0.001 + "step": 0.001, + "description": "Softens the dilated edge fill." }, { "id": "outsideColor", "label": "Outside Color", "type": "color", - "default": [0.0, 0.0, 0.0, 1.0] + "default": [ + 0, + 0, + 0, + 1 + ], + "description": "Color used where the remapped image samples outside the source frame." } ] } diff --git a/shaders/fisheye-reproject/shader.json b/shaders/fisheye-reproject/shader.json index 1d5a9cd..404da48 100644 --- a/shaders/fisheye-reproject/shader.json +++ b/shaders/fisheye-reproject/shader.json @@ -9,91 +9,125 @@ "id": "lensFovDegrees", "label": "Lens FOV", "type": "float", - "default": 190.0, - "min": 1.0, - "max": 220.0, - "step": 0.1 + "default": 190, + "min": 1, + "max": 220, + "step": 0.1, + "description": "Actual fisheye lens field of view in degrees." }, { "id": "center", "label": "Optical Center", "type": "vec2", - "default": [0.5, 0.5], - "min": [0.0, 0.0], - "max": [1.0, 1.0], - "step": [0.001, 0.001] + "default": [ + 0.5, + 0.5 + ], + "min": [ + 0, + 0 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Normalized position in the frame, where 0.5, 0.5 is center." }, { "id": "radius", "label": "Fisheye Radius", "type": "vec2", - "default": [0.5, 0.885], - "min": [0.001, 0.001], - "max": [2.0, 2.0], - "step": [0.001, 0.001] + "default": [ + 0.5, + 0.885 + ], + "min": [ + 0.001, + 0.001 + ], + "max": [ + 2, + 2 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Normalized fisheye radius; adjust X/Y when the image is cropped or squeezed." }, { "id": "virtualFovDegrees", "label": "Virtual FOV", "type": "float", - "default": 75.0, - "min": 1.0, - "max": 175.0, - "step": 0.1 + "default": 75, + "min": 1, + "max": 175, + "step": 0.1, + "description": "Field of view of the generated virtual camera." }, { "id": "basePanDegrees", "label": "Base Pan", "type": "float", - "default": 0.0, - "min": -180.0, - "max": 180.0, - "step": 0.1 + "default": 0, + "min": -180, + "max": 180, + "step": 0.1, + "description": "Permanent horizontal alignment offset before live pan." }, { "id": "baseTiltDegrees", "label": "Base Tilt", "type": "float", - "default": 0.0, - "min": -120.0, - "max": 120.0, - "step": 0.1 + "default": 0, + "min": -120, + "max": 120, + "step": 0.1, + "description": "Permanent vertical alignment offset before live tilt." }, { "id": "baseRollDegrees", "label": "Base Roll", "type": "float", - "default": 0.0, - "min": -180.0, - "max": 180.0, - "step": 0.1 + "default": 0, + "min": -180, + "max": 180, + "step": 0.1, + "description": "Permanent roll alignment offset before live roll." }, { "id": "panDegrees", "label": "Pan", "type": "float", - "default": 0.0, - "min": -180.0, - "max": 180.0, - "step": 0.1 + "default": 0, + "min": -180, + "max": 180, + "step": 0.1, + "description": "Live horizontal view rotation." }, { "id": "tiltDegrees", "label": "Tilt", "type": "float", - "default": 0.0, - "min": -120.0, - "max": 120.0, - "step": 0.1 + "default": 0, + "min": -120, + "max": 120, + "step": 0.1, + "description": "Live vertical view rotation." }, { "id": "rollDegrees", "label": "Roll", "type": "float", - "default": 0.0, - "min": -180.0, - "max": 180.0, - "step": 0.1 + "default": 0, + "min": -180, + "max": 180, + "step": 0.1, + "description": "Live roll rotation around the viewing axis." }, { "id": "fisheyeModel", @@ -101,11 +135,24 @@ "type": "enum", "default": "equidistant", "options": [ - { "value": "equidistant", "label": "Equidistant" }, - { "value": "equisolid", "label": "Equisolid" }, - { "value": "stereographic", "label": "Stereographic" }, - { "value": "orthographic", "label": "Orthographic" } - ] + { + "value": "equidistant", + "label": "Equidistant" + }, + { + "value": "equisolid", + "label": "Equisolid" + }, + { + "value": "stereographic", + "label": "Stereographic" + }, + { + "value": "orthographic", + "label": "Orthographic" + } + ], + "description": "Projection model used by the physical fisheye lens." }, { "id": "outputProjection", @@ -113,15 +160,28 @@ "type": "enum", "default": "rectilinear", "options": [ - { "value": "rectilinear", "label": "Rectilinear" }, - { "value": "cylindrical", "label": "Cylindrical" } - ] + { + "value": "rectilinear", + "label": "Rectilinear" + }, + { + "value": "cylindrical", + "label": "Cylindrical" + } + ], + "description": "Chooses rectilinear perspective or cylindrical reprojection." }, { "id": "outsideColor", "label": "Outside Color", "type": "color", - "default": [0.0, 0.0, 0.0, 1.0] + "default": [ + 0, + 0, + 0, + 1 + ], + "description": "Color used where the remapped image samples outside the source frame." } ] } diff --git a/shaders/gaussian-blur/shader.json b/shaders/gaussian-blur/shader.json index ab89db1..7cf1700 100644 --- a/shaders/gaussian-blur/shader.json +++ b/shaders/gaussian-blur/shader.json @@ -9,14 +9,18 @@ "id": "horizontal", "source": "shader.slang", "entryPoint": "blurHorizontal", - "inputs": ["layerInput"], + "inputs": [ + "layerInput" + ], "output": "blurHorizontal" }, { "id": "vertical", "source": "shader.slang", "entryPoint": "blurVertical", - "inputs": ["blurHorizontal"], + "inputs": [ + "blurHorizontal" + ], "output": "layerOutput" } ], @@ -25,28 +29,31 @@ "id": "radius", "label": "Radius", "type": "float", - "default": 2.0, - "min": 0.0, - "max": 8.0, - "step": 0.1 + "default": 2, + "min": 0, + "max": 8, + "step": 0.1, + "description": "Blur radius in pixels for each separable pass." }, { "id": "strength", "label": "Strength", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Blends between the original and blurred result." }, { "id": "samples", "label": "Samples", "type": "float", - "default": 2.0, - "min": 0.0, - "max": 25.0, - "step": 1.0 + "default": 2, + "min": 0, + "max": 25, + "step": 1, + "description": "Number of taps per direction; higher values cost more GPU time." } ] } diff --git a/shaders/greenscreen-key/shader.json b/shaders/greenscreen-key/shader.json index d369fc9..ebcf35b 100644 --- a/shaders/greenscreen-key/shader.json +++ b/shaders/greenscreen-key/shader.json @@ -9,21 +9,27 @@ "id": "rawMatte", "source": "shader.slang", "entryPoint": "buildRawMatte", - "inputs": ["layerInput"], + "inputs": [ + "layerInput" + ], "output": "rawMatte" }, { "id": "refinedMatte", "source": "shader.slang", "entryPoint": "refineMatte", - "inputs": ["rawMatte"], + "inputs": [ + "rawMatte" + ], "output": "refinedMatte" }, { "id": "final", "source": "shader.slang", "entryPoint": "applyKey", - "inputs": ["refinedMatte"], + "inputs": [ + "refinedMatte" + ], "output": "layerOutput" } ], @@ -32,10 +38,31 @@ "id": "screenColor", "label": "Screen Color", "type": "color", - "default": [0.15, 0.85, 0.2, 1.0], - "min": [0.0, 0.0, 0.0, 0.0], - "max": [1.0, 1.0, 1.0, 1.0], - "step": [0.01, 0.01, 0.01, 0.01] + "default": [ + 0.15, + 0.85, + 0.2, + 1 + ], + "min": [ + 0, + 0, + 0, + 0 + ], + "max": [ + 1, + 1, + 1, + 1 + ], + "step": [ + 0.01, + 0.01, + 0.01, + 0.01 + ], + "description": "Target screen color to remove; use green or blue depending on the backdrop." }, { "id": "threshold", @@ -44,7 +71,8 @@ "default": 0.24, "min": 0.01, "max": 0.8, - "step": 0.005 + "step": 0.005, + "description": "Higher values keep more foreground; lower values remove more screen." }, { "id": "softness", @@ -53,150 +81,206 @@ "default": 0.16, "min": 0.001, "max": 0.5, - "step": 0.005 + "step": 0.005, + "description": "Feathers the transition between foreground and keyed screen." }, { "id": "screenBalance", "label": "Screen Balance", "type": "float", "default": 0.5, - "min": 0.0, - "max": 1.0, - "step": 0.005 + "min": 0, + "max": 1, + "step": 0.005, + "description": "Balances chroma-distance keying against color-direction keying." }, { "id": "screenPreBlur", "label": "Screen PreBlur", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 8.0, - "step": 0.1 + "default": 1, + "min": 0, + "max": 8, + "step": 0.1, + "description": "Blurs source color before matte generation to reduce noisy edges." }, { "id": "erodeDilate", "label": "Erode/Dilate", "type": "float", - "default": 0.0, + "default": 0, "min": -0.3, "max": 0.3, - "step": 0.005 + "step": 0.005, + "description": "Negative erodes the matte; positive expands it." }, { "id": "matteBlur", "label": "Matte Blur", "type": "float", "default": 1.25, - "min": 0.0, - "max": 6.0, - "step": 0.1 + "min": 0, + "max": 6, + "step": 0.1, + "description": "Softens the generated matte after keying." }, { "id": "matteGamma", "label": "Matte Gamma", "type": "float", - "default": 1.0, + "default": 1, "min": 0.25, - "max": 4.0, - "step": 0.01 + "max": 4, + "step": 0.01, + "description": "Shapes midtone opacity in the matte." }, { "id": "matteContrast", "label": "Matte Contrast", "type": "float", - "default": 1.0, + "default": 1, "min": 0.25, - "max": 4.0, - "step": 0.01 + "max": 4, + "step": 0.01, + "description": "Increases or reduces matte separation around 50 percent alpha." }, { "id": "blackCleanup", "label": "Black Cleanup", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.005 + "default": 0, + "min": 0, + "max": 1, + "step": 0.005, + "description": "Pushes semi-transparent dark matte areas toward transparent." }, { "id": "whiteCleanup", "label": "White Cleanup", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.005 + "default": 0, + "min": 0, + "max": 1, + "step": 0.005, + "description": "Pushes semi-transparent light matte areas toward opaque." }, { "id": "despill", "label": "Despill", "type": "float", "default": 0.45, - "min": 0.0, + "min": 0, "max": 1.5, - "step": 0.01 + "step": 0.01, + "description": "Removes screen-colored contamination from foreground edges." }, { "id": "despillBias", "label": "Despill Bias", "type": "float", - "default": 0.0, + "default": 0, "min": -0.5, "max": 0.5, - "step": 0.005 + "step": 0.005, + "description": "Offsets spill detection when foreground colors are close to the screen color." }, { "id": "spillTint", "label": "Spill Tint", "type": "color", - "default": [1.0, 1.0, 1.0, 1.0], - "min": [0.0, 0.0, 0.0, 0.0], - "max": [1.0, 1.0, 1.0, 1.0], - "step": [0.01, 0.01, 0.01, 0.01] + "default": [ + 1, + 1, + 1, + 1 + ], + "min": [ + 0, + 0, + 0, + 0 + ], + "max": [ + 1, + 1, + 1, + 1 + ], + "step": [ + 0.01, + 0.01, + 0.01, + 0.01 + ], + "description": "Tint used when neutralizing spill." }, { "id": "edgeRecover", "label": "Edge Recover", "type": "float", "default": 0.18, - "min": 0.0, - "max": 1.0, - "step": 0.005 + "min": 0, + "max": 1, + "step": 0.005, + "description": "Adds color recovery along semi-transparent matte edges." }, { "id": "edgeColor", "label": "Edge Color", "type": "color", - "default": [1.0, 1.0, 1.0, 1.0], - "min": [0.0, 0.0, 0.0, 0.0], - "max": [1.0, 1.0, 1.0, 1.0], - "step": [0.01, 0.01, 0.01, 0.01] + "default": [ + 1, + 1, + 1, + 1 + ], + "min": [ + 0, + 0, + 0, + 0 + ], + "max": [ + 1, + 1, + 1, + 1 + ], + "step": [ + 0.01, + 0.01, + 0.01, + 0.01 + ], + "description": "Tint applied to recovered edge detail." }, { "id": "clipBlack", "label": "Clip Black", "type": "float", - "default": 0.0, - "min": 0.0, + "default": 0, + "min": 0, "max": 0.5, - "step": 0.005 + "step": 0.005, + "description": "Matte values below this become transparent." }, { "id": "clipWhite", "label": "Clip White", "type": "float", - "default": 1.0, + "default": 1, "min": 0.5, - "max": 1.0, - "step": 0.005 + "max": 1, + "step": 0.005, + "description": "Matte values above this become opaque." }, { "id": "cropLeft", "label": "Crop Left", "description": "Trims the final matte from the left edge as a fraction of frame width.", "type": "float", - "default": 0.0, - "min": 0.0, + "default": 0, + "min": 0, "max": 0.5, "step": 0.001 }, @@ -205,8 +289,8 @@ "label": "Crop Right", "description": "Trims the final matte from the right edge as a fraction of frame width.", "type": "float", - "default": 0.0, - "min": 0.0, + "default": 0, + "min": 0, "max": 0.5, "step": 0.001 }, @@ -215,8 +299,8 @@ "label": "Crop Top", "description": "Trims the final matte from the top edge as a fraction of frame height.", "type": "float", - "default": 0.0, - "min": 0.0, + "default": 0, + "min": 0, "max": 0.5, "step": 0.001 }, @@ -225,8 +309,8 @@ "label": "Crop Bottom", "description": "Trims the final matte from the bottom edge as a fraction of frame height.", "type": "float", - "default": 0.0, - "min": 0.0, + "default": 0, + "min": 0, "max": 0.5, "step": 0.001 }, @@ -236,12 +320,28 @@ "type": "enum", "default": "composite", "options": [ - { "value": "composite", "label": "Composite" }, - { "value": "matte", "label": "Matte" }, - { "value": "spill", "label": "Spill" }, - { "value": "despill", "label": "Despill" }, - { "value": "status", "label": "Status" } - ] + { + "value": "composite", + "label": "Composite" + }, + { + "value": "matte", + "label": "Matte" + }, + { + "value": "spill", + "label": "Spill" + }, + { + "value": "despill", + "label": "Despill" + }, + { + "value": "status", + "label": "Status" + } + ], + "description": "Debug output mode for inspecting matte, spill, and despill stages." } ] } diff --git a/shaders/happy-accident/shader.json b/shaders/happy-accident/shader.json index 6e392e5..edff4b1 100644 --- a/shaders/happy-accident/shader.json +++ b/shaders/happy-accident/shader.json @@ -9,46 +9,51 @@ "id": "speed", "label": "Speed", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 4.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 4, + "step": 0.01, + "description": "Animation speed multiplier; set to 0 to pause motion." }, { "id": "scale", "label": "Scale", "type": "float", - "default": 1.0, + "default": 1, "min": 0.25, - "max": 3.0, - "step": 0.01 + "max": 3, + "step": 0.01, + "description": "Overall size of the effect in the frame." }, { "id": "raySteps", "label": "Ray Steps", "type": "float", - "default": 77.0, - "min": 8.0, - "max": 77.0, - "step": 1.0 + "default": 77, + "min": 8, + "max": 77, + "step": 1, + "description": "Raymarch iteration count; higher values increase detail and GPU cost." }, { "id": "intensity", "label": "Intensity", "type": "float", - "default": 1.0, + "default": 1, "min": 0.1, - "max": 4.0, - "step": 0.01 + "max": 4, + "step": 0.01, + "description": "Overall brightness of the accumulated raymarched light." }, { "id": "sourceMix", "label": "Source Mix", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 0, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Blends the generated effect with the incoming video." } ] } diff --git a/shaders/lift-gamma-gain/shader.json b/shaders/lift-gamma-gain/shader.json index 233a344..5d358b7 100644 --- a/shaders/lift-gamma-gain/shader.json +++ b/shaders/lift-gamma-gain/shader.json @@ -9,34 +9,59 @@ "id": "lift", "label": "Lift", "type": "color", - "default": [0.5, 0.5, 0.5, 1.0] + "default": [ + 0.5, + 0.5, + 0.5, + 1 + ], + "description": "Adds color mostly to shadows." }, { "id": "gamma", "label": "Gamma", "type": "color", - "default": [0.5, 0.5, 0.5, 1.0] + "default": [ + 0.5, + 0.5, + 0.5, + 1 + ], + "description": "Balances midtone color response." }, { "id": "gain", "label": "Gain", "type": "color", - "default": [0.5, 0.5, 0.5, 1.0] + "default": [ + 0.5, + 0.5, + 0.5, + 1 + ], + "description": "Scales highlights and overall channel intensity." }, { "id": "offset", "label": "Offset", "type": "color", - "default": [0.5, 0.5, 0.5, 1.0] + "default": [ + 0.5, + 0.5, + 0.5, + 1 + ], + "description": "Adds a uniform color offset after lift/gamma/gain." }, { "id": "strength", "label": "Strength", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Blends the grade with the original image." } ] } diff --git a/shaders/lut-apply/shader.json b/shaders/lut-apply/shader.json index 4b6cc43..2622eba 100644 --- a/shaders/lut-apply/shader.json +++ b/shaders/lut-apply/shader.json @@ -15,43 +15,48 @@ "id": "lutStrength", "label": "LUT Strength", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Blends between the original image and the LUT result." }, { "id": "preExposure", "label": "Pre Exposure", "type": "float", - "default": 0.0, - "min": -4.0, - "max": 4.0, - "step": 0.01 + "default": 0, + "min": -4, + "max": 4, + "step": 0.01, + "description": "Exposure offset applied before the LUT lookup." }, { "id": "postContrast", "label": "Post Contrast", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 2.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 2, + "step": 0.01, + "description": "Contrast adjustment applied after the LUT lookup." }, { "id": "ditherAmount", "label": "Output Dither", "type": "float", "default": 0.5, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Adds subtle output dither to reduce visible banding." }, { "id": "clampInput", "label": "Clamp Input", "type": "bool", - "default": true + "default": true, + "description": "Clamps colors to 0-1 before the LUT lookup." } ] } diff --git a/shaders/multipass-test/shader.json b/shaders/multipass-test/shader.json index c376fa2..287b85e 100644 --- a/shaders/multipass-test/shader.json +++ b/shaders/multipass-test/shader.json @@ -9,14 +9,18 @@ "id": "mask", "source": "shader.slang", "entryPoint": "buildMask", - "inputs": ["layerInput"], + "inputs": [ + "layerInput" + ], "output": "generatedMask" }, { "id": "final", "source": "shader.slang", "entryPoint": "applyMask", - "inputs": ["generatedMask"], + "inputs": [ + "generatedMask" + ], "output": "layerOutput" } ], @@ -25,19 +29,21 @@ "id": "intensity", "label": "Intensity", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Opacity of the second-pass diagnostic overlay." }, { "id": "scale", "label": "Scale", "type": "float", - "default": 10.0, - "min": 2.0, - "max": 32.0, - "step": 1.0 + "default": 10, + "min": 2, + "max": 32, + "step": 1, + "description": "Size of the generated test pattern." } ] } diff --git a/shaders/pixelate/shader.json b/shaders/pixelate/shader.json index 92916a3..7e7ca52 100644 --- a/shaders/pixelate/shader.json +++ b/shaders/pixelate/shader.json @@ -9,25 +9,45 @@ "id": "pixelCount", "label": "Pixel Count", "type": "vec2", - "default": [96.0, 54.0], - "min": [2.0, 2.0], - "max": [1920.0, 1080.0], - "step": [1.0, 1.0] + "default": [ + 96, + 54 + ], + "min": [ + 2, + 2 + ], + "max": [ + 1920, + 1080 + ], + "step": [ + 1, + 1 + ], + "description": "Number of pixel blocks across X and Y." }, { "id": "gridAmount", "label": "Grid", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 0, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Visibility of the block grid lines." }, { "id": "gridColor", "label": "Grid Color", "type": "color", - "default": [0.0, 0.0, 0.0, 1.0] + "default": [ + 0, + 0, + 0, + 1 + ], + "description": "Color used for the pixel grid." } ] } diff --git a/shaders/safe-area-guides/shader.json b/shaders/safe-area-guides/shader.json index 144ffc5..f968291 100644 --- a/shaders/safe-area-guides/shader.json +++ b/shaders/safe-area-guides/shader.json @@ -5,32 +5,58 @@ "category": "Scopes & Guides", "entryPoint": "shadeVideo", "parameters": [ - { "id": "showActionSafe", "label": "Action Safe", "type": "bool", "default": true }, - { "id": "showTitleSafe", "label": "Title Safe", "type": "bool", "default": true }, - { "id": "showCenter", "label": "Center Marks", "type": "bool", "default": true }, + { + "id": "showActionSafe", + "label": "Action Safe", + "type": "bool", + "default": true, + "description": "Shows the broadcast action-safe rectangle." + }, + { + "id": "showTitleSafe", + "label": "Title Safe", + "type": "bool", + "default": true, + "description": "Shows the broadcast title-safe rectangle." + }, + { + "id": "showCenter", + "label": "Center Marks", + "type": "bool", + "default": true, + "description": "Shows center marks for alignment." + }, { "id": "lineColor", "label": "Line Color", "type": "color", - "default": [1.0, 1.0, 1.0, 1.0] + "default": [ + 1, + 1, + 1, + 1 + ], + "description": "Color used for guide lines and marks." }, { "id": "lineOpacity", "label": "Line Opacity", "type": "float", "default": 0.65, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Overall visibility of the guide lines." }, { "id": "lineThicknessPixels", "label": "Line Thickness", "type": "float", - "default": 2.0, + "default": 2, "min": 0.5, - "max": 12.0, - "step": 0.1 + "max": 12, + "step": 0.1, + "description": "Guide line width in output pixels." }, { "id": "aspectMode", @@ -38,20 +64,34 @@ "type": "enum", "default": "none", "options": [ - { "value": "none", "label": "None" }, - { "value": "239", "label": "2.39:1" }, - { "value": "185", "label": "1.85:1" }, - { "value": "square", "label": "1:1" } - ] + { + "value": "none", + "label": "None" + }, + { + "value": "239", + "label": "2.39:1" + }, + { + "value": "185", + "label": "1.85:1" + }, + { + "value": "square", + "label": "1:1" + } + ], + "description": "Adds an optional framing matte for common delivery ratios." }, { "id": "matteOpacity", "label": "Matte Opacity", "type": "float", "default": 0.35, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Opacity of the aspect-ratio matte outside the active image." } ] } diff --git a/shaders/singularity/shader.json b/shaders/singularity/shader.json index 9909bba..46e2c01 100644 --- a/shaders/singularity/shader.json +++ b/shaders/singularity/shader.json @@ -9,10 +9,11 @@ "id": "speed", "label": "Speed", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 4.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 4, + "step": 0.01, + "description": "Animation speed multiplier; set to 0 to pause motion." }, { "id": "scale", @@ -21,16 +22,18 @@ "default": 0.7, "min": 0.25, "max": 1.5, - "step": 0.01 + "step": 0.01, + "description": "Overall size of the effect in the frame." }, { "id": "strength", "label": "Gravity", "type": "float", - "default": 1.0, + "default": 1, "min": 0.1, - "max": 3.0, - "step": 0.01 + "max": 3, + "step": 0.01, + "description": "Strength of the lensing/gravity distortion." }, { "id": "ringRadius", @@ -39,7 +42,8 @@ "default": 0.7, "min": 0.2, "max": 1.4, - "step": 0.01 + "step": 0.01, + "description": "Radius of the bright accretion ring." }, { "id": "tightness", @@ -47,44 +51,61 @@ "type": "float", "default": 1.35, "min": 0.5, - "max": 3.0, - "step": 0.01 + "max": 3, + "step": 0.01, + "description": "Concentration of the ring and spiral detail." }, { "id": "brightness", "label": "Brightness", "type": "float", - "default": 1.0, + "default": 1, "min": 0.1, - "max": 4.0, - "step": 0.01 + "max": 4, + "step": 0.01, + "description": "Adjusts the generated effect brightness." }, { "id": "colorShift", "label": "Color Shift", "type": "float", - "default": 1.0, - "min": -2.0, - "max": 2.0, - "step": 0.01 + "default": 1, + "min": -2, + "max": 2, + "step": 0.01, + "description": "Cycles the generated color palette." }, { "id": "center", "label": "Center", "type": "vec2", - "default": [0.0, 0.0], - "min": [-1.0, -1.0], - "max": [1.0, 1.0], - "step": [0.001, 0.001] + "default": [ + 0, + 0 + ], + "min": [ + -1, + -1 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Moves the black hole center in normalized coordinates." }, { "id": "sourceMix", "label": "Source Mix", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 0, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Blends the generated effect with the incoming video." } ] } diff --git a/shaders/solid-color/shader.json b/shaders/solid-color/shader.json index e752d6f..dc27a49 100644 --- a/shaders/solid-color/shader.json +++ b/shaders/solid-color/shader.json @@ -9,7 +9,13 @@ "id": "fillColor", "label": "Fill", "type": "color", - "default": [1.0, 1.0, 1.0, 1.0] + "default": [ + 1, + 1, + 1, + 1 + ], + "description": "Frame fill color; alpha is preserved for key-capable outputs." } ] } diff --git a/shaders/temporal-echo/shader.json b/shaders/temporal-echo/shader.json index 165c244..5fd2070 100644 --- a/shaders/temporal-echo/shader.json +++ b/shaders/temporal-echo/shader.json @@ -15,33 +15,42 @@ "label": "Echo Amount", "type": "float", "default": 0.55, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Overall visibility of the temporal echoes." }, { "id": "decay", "label": "Decay", "type": "float", "default": 0.72, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "How quickly older temporal echoes fade away." }, { "id": "frameStride", "label": "Frame Stride", "type": "float", - "default": 2.0, - "min": 1.0, - "max": 6.0, - "step": 1.0 + "default": 2, + "min": 1, + "max": 6, + "step": 1, + "description": "Number of frames skipped between each echo sample." }, { "id": "echoTint", "label": "Echo Tint", "type": "color", - "default": [0.65, 0.85, 1.0, 1.0] + "default": [ + 0.65, + 0.85, + 1, + 1 + ], + "description": "Tint applied to older echo frames." } ] } diff --git a/shaders/temporal-ghost-trail/shader.json b/shaders/temporal-ghost-trail/shader.json index 5282851..1dff12d 100644 --- a/shaders/temporal-ghost-trail/shader.json +++ b/shaders/temporal-ghost-trail/shader.json @@ -15,18 +15,20 @@ "label": "Current Mix", "type": "float", "default": 0.72, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Contribution of the current frame in the temporal blend." }, { "id": "trailMix", "label": "Trail Mix", "type": "float", "default": 0.28, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Contribution of older frames in the temporal blend." } ] } diff --git a/shaders/temporal-low-fps/shader.json b/shaders/temporal-low-fps/shader.json index 326644b..673a7f5 100644 --- a/shaders/temporal-low-fps/shader.json +++ b/shaders/temporal-low-fps/shader.json @@ -14,19 +14,21 @@ "id": "holdFrames", "label": "Hold Frames", "type": "float", - "default": 3.0, - "min": 0.0, - "max": 7.0, - "step": 0.1 + "default": 3, + "min": 0, + "max": 7, + "step": 0.1, + "description": "How many previous frames to hold for the low-FPS effect." }, { "id": "blendAmount", "label": "Blend", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Mix amount for the processed result." } ] } diff --git a/shaders/text-overlay/shader.json b/shaders/text-overlay/shader.json index 34daad2..3831fa9 100644 --- a/shaders/text-overlay/shader.json +++ b/shaders/text-overlay/shader.json @@ -17,16 +17,30 @@ "type": "text", "default": "VIDEO SHADER", "font": "roboto", - "maxLength": 64 + "maxLength": 64, + "description": "Text string rendered into the SDF text texture." }, { "id": "position", "label": "Position", "type": "vec2", - "default": [0.08, 0.12], - "min": [0.0, 0.0], - "max": [1.0, 1.0], - "step": [0.001, 0.001] + "default": [ + 0.08, + 0.12 + ], + "min": [ + 0, + 0 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Normalized placement of the text block in the frame." }, { "id": "scale", @@ -35,37 +49,52 @@ "default": 0.42, "min": 0.1, "max": 3, - "step": 0.01 + "step": 0.01, + "description": "Text size multiplier." }, { "id": "fillColor", "label": "Fill", "type": "color", - "default": [1.0, 1.0, 1.0, 1.0] + "default": [ + 1, + 1, + 1, + 1 + ], + "description": "Main text fill color and alpha." }, { "id": "outlineColor", "label": "Outline", "type": "color", - "default": [0.0, 0.0, 0.0, 0.8] + "default": [ + 0, + 0, + 0, + 0.8 + ], + "description": "Text outline color and alpha." }, { "id": "outlineWidth", "label": "Outline Width", "type": "float", "default": 0.12, - "min": 0.0, + "min": 0, "max": 0.5, - "step": 0.01 + "step": 0.01, + "description": "Width of the SDF outline around the text." }, { "id": "softness", "label": "Softness", "type": "float", "default": 0.04, - "min": 0.0, + "min": 0, "max": 0.3, - "step": 0.01 + "step": 0.01, + "description": "Smoothness of the SDF text edge." } ] } diff --git a/shaders/trigger-ripple/shader.json b/shaders/trigger-ripple/shader.json index fd190f6..35196ee 100644 --- a/shaders/trigger-ripple/shader.json +++ b/shaders/trigger-ripple/shader.json @@ -8,25 +8,40 @@ { "id": "drop", "label": "Drop", - "type": "trigger" + "type": "trigger", + "description": "Momentary trigger that starts a new ripple from the selected center." }, { "id": "center", "label": "Center", "type": "vec2", - "default": [0.5, 0.5], - "min": [0.0, 0.0], - "max": [1.0, 1.0], - "step": [0.01, 0.01] + "default": [ + 0.5, + 0.5 + ], + "min": [ + 0, + 0 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.01, + 0.01 + ], + "description": "Origin of the triggered ripple in normalized coordinates." }, { "id": "strength", "label": "Strength", "type": "float", "default": 0.12, - "min": 0.0, + "min": 0, "max": 0.3, - "step": 0.001 + "step": 0.001, + "description": "Amount of UV distortion caused by the ripple." }, { "id": "speed", @@ -34,8 +49,9 @@ "type": "float", "default": 0.3, "min": 0.3, - "max": 5.0, - "step": 0.01 + "max": 5, + "step": 0.01, + "description": "How long the ripple takes to expand and fade." }, { "id": "width", @@ -44,7 +60,8 @@ "default": 0.09, "min": 0.01, "max": 0.25, - "step": 0.001 + "step": 0.001, + "description": "Thickness of the travelling ripple ring." }, { "id": "damping", @@ -52,8 +69,9 @@ "type": "float", "default": 0.25, "min": 0.05, - "max": 3.0, - "step": 0.05 + "max": 3, + "step": 0.05, + "description": "How quickly the ripple fades as it expands." } ] } diff --git a/shaders/utc-clock/shader.json b/shaders/utc-clock/shader.json index da756da..d859bbc 100644 --- a/shaders/utc-clock/shader.json +++ b/shaders/utc-clock/shader.json @@ -9,7 +9,8 @@ "id": "showLocalTime", "label": "Show Local Time", "type": "bool", - "default": true + "default": true, + "description": "Uses the PC UTC offset for local time; disable for pure UTC." }, { "id": "clockScale", @@ -18,19 +19,32 @@ "default": 0.7, "min": 0.25, "max": 0.95, - "step": 0.01 + "step": 0.01, + "description": "Size of the clock face relative to the frame." }, { "id": "faceColor", "label": "Face Color", "type": "color", - "default": [0.03, 0.04, 0.05, 0.82] + "default": [ + 0.03, + 0.04, + 0.05, + 0.82 + ], + "description": "Clock face fill color and alpha." }, { "id": "accentColor", "label": "Accent Color", "type": "color", - "default": [0.1, 0.62, 0.86, 1.0] + "default": [ + 0.1, + 0.62, + 0.86, + 1 + ], + "description": "Accent color for the seconds hand and glow." } ] } diff --git a/shaders/vhs/shader.json b/shaders/vhs/shader.json index 2aff3c3..779bf2c 100644 --- a/shaders/vhs/shader.json +++ b/shaders/vhs/shader.json @@ -9,14 +9,18 @@ "id": "tapeSmear", "source": "shader.slang", "entryPoint": "buildTapeSmear", - "inputs": ["layerInput"], + "inputs": [ + "layerInput" + ], "output": "tapeSmear" }, { "id": "final", "source": "shader.slang", "entryPoint": "finishVhs", - "inputs": ["tapeSmear"], + "inputs": [ + "tapeSmear" + ], "output": "layerOutput" } ], @@ -26,117 +30,130 @@ "label": "Wiggle", "type": "float", "default": 0.03, - "min": 0.0, + "min": 0, "max": 1.5, - "step": 0.01 + "step": 0.01, + "description": "Horizontal tape wobble amount." }, { "id": "wiggleSpeed", "label": "Wiggle Speed", "type": "float", - "default": 25.0, - "min": 0.0, - "max": 100.0, - "step": 1.0 + "default": 25, + "min": 0, + "max": 100, + "step": 1, + "description": "Speed of the tape wobble modulation." }, { "id": "smear", "label": "Smear", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 2.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 2, + "step": 0.01, + "description": "Horizontal color/luma smear strength." }, { "id": "blurSamples", "label": "Blur Samples", "type": "float", - "default": 15.0, - "min": 3.0, - "max": 15.0, - "step": 1.0 + "default": 15, + "min": 3, + "max": 15, + "step": 1, + "description": "Number of smear samples; higher values are smoother but heavier." }, { "id": "vignetteAmount", "label": "Vignette", "type": "float", "default": 0.18, - "min": 0.0, + "min": 0, "max": 0.6, - "step": 0.01 + "step": 0.01, + "description": "Darkens and softens the frame edges." }, { "id": "aberrationAmount", "label": "Aberration", "type": "float", "default": 0.75, - "min": 0.0, - "max": 3.0, - "step": 0.05 + "min": 0, + "max": 3, + "step": 0.05, + "description": "Color-channel separation amount." }, { "id": "halationAmount", "label": "Halation", "type": "float", "default": 0.12, - "min": 0.0, + "min": 0, "max": 0.5, - "step": 0.01 + "step": 0.01, + "description": "Red/orange glow around bright areas." }, { "id": "bloomAmount", "label": "Bloom", "type": "float", "default": 0.18, - "min": 0.0, + "min": 0, "max": 0.6, - "step": 0.01 + "step": 0.01, + "description": "Soft glow strength from bright video regions." }, { "id": "fadeAmount", "label": "Fade", "type": "float", "default": 0.22, - "min": 0.0, + "min": 0, "max": 0.75, - "step": 0.01 + "step": 0.01, + "description": "Washed-out tape fade amount." }, { "id": "noiseAmount", "label": "Noise", "type": "float", "default": 0.055, - "min": 0.0, + "min": 0, "max": 0.2, - "step": 0.005 + "step": 0.005, + "description": "Fine grain/noise intensity." }, { "id": "staticAmount", "label": "Analog Static", "type": "float", "default": 0.045, - "min": 0.0, + "min": 0, "max": 0.25, - "step": 0.005 + "step": 0.005, + "description": "Random bright static intensity." }, { "id": "staticLines", "label": "Static Lines", "type": "float", "default": 0.65, - "min": 0.0, + "min": 0, "max": 1.5, - "step": 0.01 + "step": 0.01, + "description": "Horizontal static line visibility." }, { "id": "noiseSize", "label": "Noise Size", "type": "float", - "default": 1.0, + "default": 1, "min": 0.25, - "max": 6.0, - "step": 0.05 + "max": 6, + "step": 0.05, + "description": "Scale of the generated noise pattern." } ] } diff --git a/shaders/video-cube/shader.json b/shaders/video-cube/shader.json index e544642..917e3d6 100644 --- a/shaders/video-cube/shader.json +++ b/shaders/video-cube/shader.json @@ -9,10 +9,11 @@ "id": "spinSpeed", "label": "Spin Speed", "type": "float", - "default": 1.0, - "min": 0.0, - "max": 4.0, - "step": 0.01 + "default": 1, + "min": 0, + "max": 4, + "step": 0.01, + "description": "Rotation speed of the cube." }, { "id": "cubeScale", @@ -21,25 +22,28 @@ "default": 0.85, "min": 0.3, "max": 1.4, - "step": 0.01 + "step": 0.01, + "description": "Size of the cube in the frame." }, { "id": "faceZoom", "label": "Face Zoom", "type": "float", - "default": 1.0, + "default": 1, "min": 0.5, - "max": 2.0, - "step": 0.01 + "max": 2, + "step": 0.01, + "description": "Zoom applied to the video on each cube face." }, { "id": "backgroundMix", "label": "Background Mix", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 0, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Mixes the original video behind the generated cube." } ] } diff --git a/shaders/video-transform/shader.json b/shaders/video-transform/shader.json index 1f96ae8..a0c2a0d 100644 --- a/shaders/video-transform/shader.json +++ b/shaders/video-transform/shader.json @@ -9,28 +9,43 @@ "id": "zoom", "label": "Zoom", "type": "float", - "default": 1.0, + "default": 1, "min": 0.1, - "max": 8.0, - "step": 0.01 + "max": 8, + "step": 0.01, + "description": "Scales the source image before edge handling is applied." }, { "id": "pan", "label": "Pan", "type": "vec2", - "default": [0.0, 0.0], - "min": [-1.0, -1.0], - "max": [1.0, 1.0], - "step": [0.001, 0.001] + "default": [ + 0, + 0 + ], + "min": [ + -1, + -1 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.001, + 0.001 + ], + "description": "Moves the source image in normalized frame units." }, { "id": "rotationDegrees", "label": "Rotation", "type": "float", - "default": 0.0, - "min": -180.0, - "max": 180.0, - "step": 0.1 + "default": 0, + "min": -180, + "max": 180, + "step": 0.1, + "description": "Rotates the source image around the frame center." }, { "id": "edgeMode", @@ -38,17 +53,36 @@ "type": "enum", "default": "black", "options": [ - { "value": "black", "label": "Black" }, - { "value": "clamp", "label": "Clamp" }, - { "value": "wrap", "label": "Wrap" }, - { "value": "mirror", "label": "Mirror" } - ] + { + "value": "black", + "label": "Black" + }, + { + "value": "clamp", + "label": "Clamp" + }, + { + "value": "wrap", + "label": "Wrap" + }, + { + "value": "mirror", + "label": "Mirror" + } + ], + "description": "Chooses how samples outside the source frame are filled." }, { "id": "outsideColor", "label": "Outside Color", "type": "color", - "default": [0.0, 0.0, 0.0, 1.0] + "default": [ + 0, + 0, + 0, + 1 + ], + "description": "Color used where the remapped image samples outside the source frame." } ] } diff --git a/shaders/waveform-overlay/shader.json b/shaders/waveform-overlay/shader.json index 670caa1..87fe2c8 100644 --- a/shaders/waveform-overlay/shader.json +++ b/shaders/waveform-overlay/shader.json @@ -33,44 +33,61 @@ "type": "float", "default": 0.4, "min": 0.1, - "max": 1.0, - "step": 0.01 + "max": 1, + "step": 0.01, + "description": "Size of the waveform panel." }, { "id": "overlayPosition", "label": "Overlay Position", "type": "vec2", - "default": [0.24, 0.76], - "min": [0.0, 0.0], - "max": [1.0, 1.0], - "step": [0.01, 0.01] + "default": [ + 0.24, + 0.76 + ], + "min": [ + 0, + 0 + ], + "max": [ + 1, + 1 + ], + "step": [ + 0.01, + 0.01 + ], + "description": "Normalized position of the waveform panel." }, { "id": "overlayPadding", "label": "Overlay Padding", "type": "float", "default": 0.08, - "min": 0.0, + "min": 0, "max": 0.25, - "step": 0.01 + "step": 0.01, + "description": "Padding inside the waveform panel." }, { "id": "waveformOpacity", "label": "Waveform Opacity", "type": "float", "default": 0.75, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Opacity of the waveform trace." }, { "id": "backgroundOpacity", "label": "Background", "type": "float", "default": 0.75, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Opacity of the waveform background panel." }, { "id": "lineThickness", @@ -78,50 +95,61 @@ "type": "float", "default": 1.5, "min": 0.5, - "max": 10.0, - "step": 0.1 + "max": 10, + "step": 0.1, + "description": "Thickness of the waveform trace in pixels." }, { "id": "gridOpacity", "label": "Grid Opacity", "type": "float", "default": 1, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "min": 0, + "max": 1, + "step": 0.01, + "description": "Opacity of the waveform grid and labels." }, { "id": "waveformSamples", "label": "Waveform Samples", "type": "float", - "default": 64.0, - "min": 8.0, - "max": 96.0, - "step": 1.0 + "default": 64, + "min": 8, + "max": 96, + "step": 1, + "description": "Number of vertical samples used to build the waveform." }, { "id": "waveformGain", "label": "Waveform Gain", "type": "float", - "default": 12.0, - "min": 1.0, - "max": 32.0, - "step": 0.5 + "default": 12, + "min": 1, + "max": 32, + "step": 0.5, + "description": "Brightness/intensity of waveform hits." }, { "id": "waveformNoiseReduction", "label": "Noise Reduction", "type": "float", "default": 0.08, - "min": 0.0, + "min": 0, "max": 0.6, - "step": 0.01 + "step": 0.01, + "description": "Suppresses faint waveform speckle." }, { "id": "waveformColor", "label": "Waveform Color", "type": "color", - "default": [1.0, 1.0, 1.0, 1.0] + "default": [ + 1, + 1, + 1, + 1 + ], + "description": "Color used for the waveform trace." } ] } diff --git a/shaders/xyla-exposure-chart/shader.json b/shaders/xyla-exposure-chart/shader.json index 615718a..c3a1a89 100644 --- a/shaders/xyla-exposure-chart/shader.json +++ b/shaders/xyla-exposure-chart/shader.json @@ -9,10 +9,11 @@ "id": "patchCount", "label": "Patch Count", "type": "float", - "default": 15.0, - "min": 2.0, - "max": 21.0, - "step": 1.0 + "default": 15, + "min": 2, + "max": 21, + "step": 1, + "description": "Number of exposure patches in the chart." }, { "id": "baseLevel", @@ -21,25 +22,28 @@ "default": 0.00006103515625, "min": 0.000001, "max": 0.01, - "step": 0.000001 + "step": 0.000001, + "description": "Brightness of the darkest patch before tone mapping." }, { "id": "peakLevel", "label": "Peak Level", "type": "float", - "default": 1.0, + "default": 1, "min": 0.01, - "max": 1.0, - "step": 0.001 + "max": 1, + "step": 0.001, + "description": "Brightness limit for the brightest patch." }, { "id": "gammaEncode", "label": "Display Gamma", "type": "float", - "default": 1.0, - "min": 1.0, + "default": 1, + "min": 1, "max": 2.6, - "step": 0.01 + "step": 0.01, + "description": "Gamma value used when Tone Curve is Display Gamma." }, { "id": "toneCurve", @@ -59,7 +63,8 @@ "value": "rec709", "label": "Rec.709" } - ] + ], + "description": "Output encoding used for the chart patches." }, { "id": "chartScale", @@ -67,56 +72,63 @@ "type": "float", "default": 0.86, "min": 0.25, - "max": 1.0, - "step": 0.01 + "max": 1, + "step": 0.01, + "description": "Overall size of the chart in frame." }, { "id": "gapSize", "label": "Gap Size", "type": "float", "default": 0.18, - "min": 0.0, + "min": 0, "max": 0.45, - "step": 0.01 + "step": 0.01, + "description": "Spacing between exposure patches." }, { "id": "vertical", "label": "Vertical", "type": "bool", - "default": false + "default": false, + "description": "Stacks patches vertically instead of horizontally." }, { "id": "reverseOrder", "label": "Reverse Order", "type": "bool", - "default": false + "default": false, + "description": "Reverses the dark-to-bright patch order." }, { "id": "backgroundLevel", "label": "Background", "type": "float", - "default": 0.0, - "min": 0.0, + "default": 0, + "min": 0, "max": 0.2, - "step": 0.001 + "step": 0.001, + "description": "Background brightness behind the chart." }, { "id": "borderLevel", "label": "Border", "type": "float", "default": 0.08, - "min": 0.0, - "max": 1.0, - "step": 0.001 + "min": 0, + "max": 1, + "step": 0.001, + "description": "Brightness of patch borders." }, { "id": "sourceMix", "label": "Source Mix", "type": "float", - "default": 0.0, - "min": 0.0, - "max": 1.0, - "step": 0.01 + "default": 0, + "min": 0, + "max": 1, + "step": 0.01, + "description": "Blends the generated effect with the incoming video." } ] }