{
  "id": "singularity",
  "name": "Singularity",
  "description": "Whirling blackhole and accretion disk. Original by XorDev, adapted from https://www.shadertoy.com/view/3csSWB.",
  "category": "Generative",
  "entryPoint": "shadeVideo",
  "parameters": [
    {
      "id": "speed",
      "label": "Speed",
      "type": "float",
      "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": 0.7,
      "min": 0.25,
      "max": 1.5,
      "step": 0.01,
      "description": "Overall size of the effect in the frame."
    },
    {
      "id": "strength",
      "label": "Gravity",
      "type": "float",
      "default": 1,
      "min": 0.1,
      "max": 3,
      "step": 0.01,
      "description": "Strength of the lensing/gravity distortion."
    },
    {
      "id": "ringRadius",
      "label": "Ring Radius",
      "type": "float",
      "default": 0.7,
      "min": 0.2,
      "max": 1.4,
      "step": 0.01,
      "description": "Radius of the bright accretion ring."
    },
    {
      "id": "tightness",
      "label": "Tightness",
      "type": "float",
      "default": 1.35,
      "min": 0.5,
      "max": 3,
      "step": 0.01,
      "description": "Concentration of the ring and spiral detail."
    },
    {
      "id": "brightness",
      "label": "Brightness",
      "type": "float",
      "default": 1,
      "min": 0.1,
      "max": 4,
      "step": 0.01,
      "description": "Adjusts the generated effect brightness."
    },
    {
      "id": "colorShift",
      "label": "Color Shift",
      "type": "float",
      "default": 1,
      "min": -2,
      "max": 2,
      "step": 0.01,
      "description": "Cycles the generated color palette."
    },
    {
      "id": "center",
      "label": "Center",
      "type": "vec2",
      "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,
      "min": 0,
      "max": 1,
      "step": 0.01,
      "description": "Blends the generated effect with the incoming video."
    }
  ]
}
