{
  "id": "waveform-overlay",
  "name": "Waveform Overlay",
  "description": "Draws a lightweight luma waveform overlay along the bottom of the video.",
  "category": "Scopes & Guides",
  "entryPoint": "shadeVideo",
  "textures": [
    {
      "id": "label0Texture",
      "path": "0.png"
    },
    {
      "id": "label25Texture",
      "path": "25.png"
    },
    {
      "id": "label50Texture",
      "path": "50.png"
    },
    {
      "id": "label75Texture",
      "path": "75.png"
    },
    {
      "id": "label100Texture",
      "path": "100.png"
    }
  ],
  "parameters": [
    {
      "id": "overlayScale",
      "label": "Overlay Scale",
      "type": "float",
      "default": 0.4,
      "min": 0.1,
      "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
      ],
      "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,
      "max": 0.25,
      "step": 0.01,
      "description": "Padding inside the waveform panel."
    },
    {
      "id": "waveformOpacity",
      "label": "Waveform Opacity",
      "type": "float",
      "default": 0.75,
      "min": 0,
      "max": 1,
      "step": 0.01,
      "description": "Opacity of the waveform trace."
    },
    {
      "id": "backgroundOpacity",
      "label": "Background",
      "type": "float",
      "default": 0.75,
      "min": 0,
      "max": 1,
      "step": 0.01,
      "description": "Opacity of the waveform background panel."
    },
    {
      "id": "lineThickness",
      "label": "Line Thickness",
      "type": "float",
      "default": 1.5,
      "min": 0.5,
      "max": 10,
      "step": 0.1,
      "description": "Thickness of the waveform trace in pixels."
    },
    {
      "id": "gridOpacity",
      "label": "Grid Opacity",
      "type": "float",
      "default": 1,
      "min": 0,
      "max": 1,
      "step": 0.01,
      "description": "Opacity of the waveform grid and labels."
    },
    {
      "id": "waveformSamples",
      "label": "Waveform Samples",
      "type": "float",
      "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,
      "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,
      "max": 0.6,
      "step": 0.01,
      "description": "Suppresses faint waveform speckle."
    },
    {
      "id": "waveformColor",
      "label": "Waveform Color",
      "type": "color",
      "default": [
        1,
        1,
        1,
        1
      ],
      "description": "Color used for the waveform trace."
    }
  ]
}
