{
  "id": "lut-apply",
  "name": "3D LUT Apply",
  "description": "Applies the packaged 33-point .cube LUT to the incoming video using tetrahedral interpolation and optional output dithering.",
  "category": "Color",
  "entryPoint": "shadeVideo",
  "textures": [
    {
      "id": "lutTexture",
      "path": "test-lut.cube"
    }
  ],
  "parameters": [
    {
      "id": "lutStrength",
      "label": "LUT Strength",
      "type": "float",
      "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,
      "min": -4,
      "max": 4,
      "step": 0.01,
      "description": "Exposure offset applied before the LUT lookup."
    },
    {
      "id": "postContrast",
      "label": "Post Contrast",
      "type": "float",
      "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,
      "max": 1,
      "step": 0.01,
      "description": "Adds subtle output dither to reduce visible banding."
    },
    {
      "id": "clampInput",
      "label": "Clamp Input",
      "type": "bool",
      "default": true,
      "description": "Clamps colors to 0-1 before the LUT lookup."
    }
  ]
}
