{
  "scope": "Shotreel public-only catalog and shipped browser metadata; not executed reconstruction parity",
  "observedAt": "2026-11-11",
  "source": "https://shotreel.app/studio",
  "counts": {
    "catalog": 131,
    "motion": 86,
    "variant": 45,
    "paidBadges": 111
  },
  "evidence": {
    "runtimeDom": "ev_10767a8e5a6a28297911acac4fe30121c3465b105768bc3efb83b0383f77d481",
    "staticAnalysis": "ev_6a6a806c613d2fdae6258b9de57c3ed135f5b096f1621d3a1bb3418b7f3a35eb",
    "bundleUrl": "https://shotreel.app/_next/static/chunks/3emmkl_az5uof.js",
    "bundleSha256": "62ab3e2c5725f2f220d507bf787fed13024ef3bff3283989f5684118086b0657"
  },
  "implementationObservations": [
    "Runtime workspace canvas declares three.js r186.",
    "Public bundle defines each motion with build, pose, group and view hooks.",
    "45 presets derive from existing families by replacing default parameter values.",
    "All catalog IDs observed without account or paid template selection."
  ],
  "limitations": [
    "Catalog names and static configuration do not establish pixel-equivalent animation.",
    "No Pro template interaction or export was unlocked or tested.",
    "REA semantic analysis selected two bundles; graph remains partial.",
    "Displayed timings and source defaults can change after this capture."
  ],
  "motions": [
    {
      "id": "ring-stream",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Ring Stream",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 16.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/ring-stream",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Ring tilt",
          "default": -28,
          "min": -60,
          "max": 60,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "opening",
          "label": "Ring opening",
          "default": 55,
          "min": 15,
          "max": 85,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "size",
          "label": "Ring size",
          "default": 80,
          "min": 50,
          "max": 95,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 21,
          "min": 12,
          "max": 32,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 70,
          "min": 10,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 18,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "sphere-wall",
      "category": "3D & Perspective",
      "paid": false,
      "name": "Sphere Wall",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/sphere-wall"
    },
    {
      "id": "card-globe",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Card Globe",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "sourcePage": "https://shotreel.app/templates/card-globe"
    },
    {
      "id": "orbit-globe",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Orbit Globe",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/orbit-globe"
    },
    {
      "id": "sphere-cascade",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Sphere Cascade",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/sphere-cascade"
    },
    {
      "id": "column-wall",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Column Wall",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/column-wall"
    },
    {
      "id": "parallax-columns",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Parallax Columns",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/parallax-columns",
      "parameterMetadata": [
        {
          "key": "zoom",
          "label": "Zoom",
          "default": 50,
          "min": 10,
          "max": 50,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "scatter",
          "label": "Scatter",
          "default": 70,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "variation",
          "label": "Size variation",
          "default": 30,
          "min": 0,
          "max": 50,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "parallax",
          "label": "Parallax depth",
          "default": 50,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "padding",
          "label": "Padding",
          "default": 13,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0.5,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "curvature",
          "label": "Curvature (concave ⟷ convex)",
          "default": -100,
          "min": -150,
          "max": 150,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 6.75,
          "min": 0.5,
          "max": 20,
          "step": 0.25,
          "unit": "%"
        },
        {
          "key": "edgeFade",
          "label": "Edge fade",
          "default": 0,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Up",
            "Down"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "card-tunnel",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Card Tunnel",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/card-tunnel",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1.5,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "size",
          "label": "Tunnel size",
          "default": 90,
          "min": 60,
          "max": 120,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "length",
          "label": "Card length",
          "default": 55,
          "min": 30,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 10,
          "min": 2,
          "max": 20,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 45,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Forward",
            "Backward"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "spiral",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Spiral",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 28.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/spiral",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "turns",
          "label": "Spiral turns",
          "default": 3.75,
          "min": 1,
          "max": 6,
          "step": 0.25,
          "unit": ""
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 24,
          "min": 8,
          "max": 48,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "size",
          "label": "Spiral size",
          "default": 62,
          "min": 35,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "taper",
          "label": "Taper",
          "default": 0,
          "min": -90,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 33,
          "min": 12,
          "max": 36,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 55,
          "min": 10,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 20,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Ring tilt",
          "default": 0,
          "min": -45,
          "max": 45,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "cardGap",
          "label": "Card gap",
          "default": 28,
          "min": 0,
          "max": 50,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "pulse",
          "label": "Scale pulse",
          "default": 0,
          "min": 0,
          "max": 60,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Downward",
            "Upward"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Continuous",
            "Fast–slow–fast",
            "Step per card"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "style",
          "label": "Card style",
          "kind": "choice",
          "options": [
            "Curved (3D bend)",
            "Upright (flat)"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "depth-scroll",
      "category": "3D & Perspective",
      "paid": false,
      "name": "Depth Scroll",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 14.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/depth-scroll",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 25,
          "min": 20,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 24,
          "min": 4,
          "max": 50,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "depthGap",
          "label": "Depth gap",
          "default": 32,
          "min": 18,
          "max": 80,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Spread",
          "default": 74,
          "min": 0,
          "max": 120,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "wobble",
          "label": "Wobble",
          "default": 0,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 45,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthBlur",
          "label": "Depth blur",
          "default": 0,
          "min": 0,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Fan",
            "Scatter"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Forward",
            "Backward"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "cover-ring",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Cover Ring",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/templates/cover-ring"
    },
    {
      "id": "cover-ring-vertical",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Cover Ring Vertical",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/templates/cover-ring-vertical"
    },
    {
      "id": "wave-wall",
      "category": "3D & Perspective",
      "paid": false,
      "name": "Wave Wall",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/wave-wall",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 4,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 22,
          "min": 12,
          "max": 40,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 6,
          "min": 1,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "amplitude",
          "label": "Wave height",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "waves",
          "label": "Waves per loop",
          "kind": "choice",
          "options": [
            "1",
            "2",
            "3"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Horizontal",
            "Vertical"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 24,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "triple-scene",
      "category": "Multiscene",
      "paid": false,
      "name": "Triple Scene",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/triple-scene",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "padding",
          "label": "Padding",
          "default": 2,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "hero",
          "label": "Hero size",
          "default": 58,
          "min": 30,
          "max": 100,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "heroGap",
          "label": "Hero spacing",
          "default": 4,
          "min": 0,
          "max": 40,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "cols",
          "label": "Columns",
          "default": 3,
          "min": 2,
          "max": 5,
          "step": 1,
          "unit": ""
        },
        {
          "key": "per",
          "label": "Cards per column",
          "default": 6,
          "min": 3,
          "max": 10,
          "step": 1,
          "unit": ""
        },
        {
          "key": "gap",
          "label": "Card gap",
          "default": 1.5,
          "min": 0,
          "max": 8,
          "step": 0.25,
          "unit": "%"
        },
        {
          "key": "drift",
          "label": "Column drift",
          "default": 22,
          "min": 0,
          "max": 50,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Row tilt",
          "default": 17,
          "min": -40,
          "max": 40,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "rise",
          "label": "Row rise",
          "default": 12,
          "min": 0,
          "max": 40,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 0,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "collage-reel",
      "category": "Multiscene",
      "paid": true,
      "name": "Collage Reel",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 18.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/collage-reel",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "padding",
          "label": "Padding",
          "default": 2,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "hero",
          "label": "Hero size",
          "default": 52,
          "min": 25,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 0,
          "options": "source-indexed easing list"
        },
        {
          "key": "zoom",
          "label": "Zoom",
          "default": 40,
          "min": 15,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "stagger",
          "label": "Row stagger",
          "default": 68,
          "min": 0,
          "max": 150,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "pitch",
          "label": "Row pitch",
          "default": 61,
          "min": 25,
          "max": 150,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spacing",
          "label": "Card spacing",
          "default": 186,
          "min": 60,
          "max": 300,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Up",
            "Down",
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "spin",
          "label": "Spin",
          "default": 90,
          "min": 0,
          "max": 180,
          "step": 5,
          "unit": "°"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "fan-shuffle",
      "category": "Multiscene",
      "paid": true,
      "name": "Fan Shuffle",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 17.5,
      "slotsLiteral": "18",
      "sourcePage": "https://shotreel.app/templates/fan-shuffle",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "deck",
          "label": "Deck cards",
          "default": 6,
          "min": 2,
          "max": 10,
          "step": 1,
          "unit": ""
        },
        {
          "key": "fan",
          "label": "Fan spread",
          "default": 7.8,
          "min": 0,
          "max": 25,
          "step": 0.2,
          "unit": "%"
        },
        {
          "key": "fanAngle",
          "label": "Fan angle",
          "default": -47,
          "min": -90,
          "max": 90,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "cols",
          "label": "Columns",
          "default": 3,
          "min": 2,
          "max": 6,
          "step": 1,
          "unit": ""
        },
        {
          "key": "gap",
          "label": "Card gap",
          "default": 2.5,
          "min": 0,
          "max": 8,
          "step": 0.25,
          "unit": "%"
        },
        {
          "key": "shift",
          "label": "Row shift",
          "default": 77,
          "min": 0,
          "max": 150,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "pull",
          "label": "Wall pull-back",
          "default": 80,
          "min": 50,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 0,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "sweep-ring",
      "category": "Multiscene",
      "paid": true,
      "name": "Sweep Ring",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 17.0,
      "sourcePage": "https://shotreel.app/templates/sweep-ring"
    },
    {
      "id": "scatter-dial",
      "category": "Multiscene",
      "paid": true,
      "name": "Scatter Dial",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 18.0,
      "sourcePage": "https://shotreel.app/templates/scatter-dial"
    },
    {
      "id": "grid-zoom-strip",
      "category": "Multiscene",
      "paid": true,
      "name": "Grid Zoom Strip",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 6.0,
      "slotsLiteral": "9",
      "sourcePage": "https://shotreel.app/templates/grid-zoom-strip",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "zoom",
          "label": "Zoom",
          "default": 2,
          "min": 1.2,
          "max": 3,
          "step": 0.1,
          "unit": ""
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 2,
          "min": 0,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "fade",
          "label": "Fade",
          "kind": "choice",
          "options": [
            "Off",
            "On"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Horizontal",
            "Vertical"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "target",
          "label": "Zoom target",
          "kind": "choice",
          "options": [
            "Start (card 1)",
            "Center (card 5)"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "movement",
          "label": "Movement",
          "kind": "choice",
          "options": [
            "Smooth",
            "Stepped"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "spread-rows",
      "category": "Multiscene",
      "paid": false,
      "name": "Spread Rows",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/templates/spread-rows"
    },
    {
      "id": "spread-columns",
      "category": "Multiscene",
      "paid": true,
      "name": "Spread Columns",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/templates/spread-columns"
    },
    {
      "id": "iso-cascade",
      "category": "Isometric",
      "paid": false,
      "name": "Iso Cascade",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "10",
      "sourcePage": "https://shotreel.app/templates/iso-cascade",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 42,
          "min": 25,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 70,
          "min": 0,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spacing",
          "label": "Spacing",
          "default": 40,
          "min": 20,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Continuous",
            "Stepped"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Up-right",
            "Down-left",
            "Down-right",
            "Up-left"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "iso-focus",
      "category": "Isometric",
      "paid": true,
      "name": "Iso Focus",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "10",
      "sourcePage": "https://shotreel.app/templates/iso-focus",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 42,
          "min": 25,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 20,
          "min": 0,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spacing",
          "label": "Spacing",
          "default": 20,
          "min": 10,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "focusGap",
          "label": "Focus gap",
          "default": 85,
          "min": 30,
          "max": 150,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "centerScale",
          "label": "Center scale",
          "default": 100,
          "min": 80,
          "max": 160,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Down-left",
            "Up-right"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "iso-orbit",
      "category": "Isometric",
      "paid": true,
      "name": "Iso Orbit",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "9",
      "sourcePage": "https://shotreel.app/templates/iso-orbit",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "zoom",
          "label": "Zoom",
          "default": 85,
          "min": 40,
          "max": 130,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spacing",
          "label": "Spacing",
          "default": 18,
          "min": 0,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 55,
          "min": 20,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "swing",
          "label": "Swing angle",
          "default": 30,
          "min": 5,
          "max": 80,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "float",
          "label": "Float",
          "default": 2.5,
          "min": 0,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Swing",
            "Full spin"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "stair-cascade",
      "category": "Isometric",
      "paid": true,
      "name": "Stair Cascade",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/stair-cascade",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 4,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 34,
          "min": 20,
          "max": 50,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "rise",
          "label": "Step height",
          "default": 40,
          "min": 10,
          "max": 80,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tread",
          "label": "Tread angle",
          "default": 55,
          "min": 20,
          "max": 75,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Down",
            "Up"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "orbit-showcase",
      "category": "Orbit",
      "paid": false,
      "name": "Orbit Showcase",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/templates/orbit-showcase"
    },
    {
      "id": "orbit-bloom",
      "category": "Orbit",
      "paid": true,
      "name": "Orbit Bloom",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/templates/orbit-bloom"
    },
    {
      "id": "orbit-carousel",
      "category": "Orbit",
      "paid": true,
      "name": "Orbit Carousel",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/orbit-carousel",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Spread",
          "default": 70,
          "min": 40,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "photo-orbit",
      "category": "Orbit",
      "paid": true,
      "name": "Photo Orbit",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 18.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/photo-orbit",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "pulse",
          "label": "Pulse strength",
          "default": 60,
          "min": 10,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "width",
          "label": "Ring width",
          "default": 56,
          "min": 30,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "height",
          "label": "Ring height",
          "default": 56,
          "min": 30,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 26,
          "min": 14,
          "max": 38,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Clockwise",
            "Counter-clockwise"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Linear",
            "Fast–slow–fast",
            "Step per card"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "focus-orbit",
      "category": "Orbit",
      "paid": true,
      "name": "Focus Orbit",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "20",
      "sourcePage": "https://shotreel.app/templates/focus-orbit",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "pulse",
          "label": "Pulse strength",
          "default": 60,
          "min": 10,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "zoom",
          "label": "Zoom",
          "default": 2.4,
          "min": 1.5,
          "max": 3.5,
          "step": 0.1,
          "unit": ""
        },
        {
          "key": "stops",
          "label": "Spin stops",
          "default": 5,
          "min": 2,
          "max": 20,
          "step": 1,
          "unit": ""
        },
        {
          "key": "ring",
          "label": "Ring size",
          "default": 72,
          "min": 40,
          "max": 95,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "rotY",
          "label": "Rotate Y",
          "default": 0,
          "min": -70,
          "max": 70,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 55,
          "min": 0,
          "max": 80,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 18,
          "min": 10,
          "max": 32,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Clockwise",
            "Counter-clockwise"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Smooth",
            "Fast–slow–fast"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "zoomStyle",
          "label": "Zoom style",
          "kind": "choice",
          "options": [
            "Overlap",
            "Spotlight"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "rotScope",
          "label": "Rotate Y scope",
          "kind": "choice",
          "options": [
            "Always",
            "Zoom only"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "facing",
          "label": "Cards",
          "kind": "choice",
          "options": [
            "Face front",
            "Follow rotation"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "vortex-spin",
      "category": "Orbit",
      "paid": true,
      "name": "Vortex Spin",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/vortex-spin",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "rings",
          "label": "Rings",
          "default": 3,
          "min": 2,
          "max": 4,
          "step": 1,
          "unit": ""
        },
        {
          "key": "ring",
          "label": "Ring size",
          "default": 34,
          "min": 20,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 15,
          "min": 8,
          "max": 24,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "depth",
          "label": "Depth",
          "default": 50,
          "min": 10,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 35,
          "min": 0,
          "max": 80,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "style",
          "label": "Card style",
          "kind": "choice",
          "options": [
            "Curved",
            "Flat"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Clockwise",
            "Counter-clockwise",
            "Alternate"
          ],
          "default": 2,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "wheel-spin",
      "category": "Orbit",
      "paid": false,
      "name": "Wheel Spin",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/templates/wheel-spin"
    },
    {
      "id": "wheel-spin-bottom",
      "category": "Orbit",
      "paid": true,
      "name": "Wheel Spin Bottom",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/templates/wheel-spin-bottom"
    },
    {
      "id": "twin-rings",
      "category": "Orbit",
      "paid": true,
      "name": "Twin Rings",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 16.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/twin-rings",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 17,
          "min": 10,
          "max": 28,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "ring",
          "label": "Ring size",
          "default": 100,
          "min": 50,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Ring tilt",
          "default": 66,
          "min": 45,
          "max": 85,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 55,
          "min": 0,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 20,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "card-totem",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Card Totem",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/templates/card-totem"
    },
    {
      "id": "film-strip",
      "category": "Carousel & Flow",
      "paid": false,
      "name": "Film Strip",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/templates/film-strip"
    },
    {
      "id": "wheel-carousel",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Wheel Carousel",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 9.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/wheel-carousel",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 5,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 70,
          "min": 40,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "wheel",
          "label": "Wheel size",
          "default": 105,
          "min": 70,
          "max": 160,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "anticipation",
          "label": "Anticipation",
          "default": 20,
          "min": 0,
          "max": 40,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "overshoot",
          "label": "Overshoot",
          "default": 10,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "hold",
          "label": "Hold",
          "default": 33,
          "min": 0,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Clockwise",
            "Counter-clockwise"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "cover-flow",
      "category": "Carousel & Flow",
      "paid": false,
      "name": "Cover Flow",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/templates/cover-flow"
    },
    {
      "id": "cover-flow-vertical",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Cover Flow Vertical",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/templates/cover-flow-vertical"
    },
    {
      "id": "carousel-flow",
      "category": "Carousel & Flow",
      "paid": false,
      "name": "Carousel Flow",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "5",
      "sourcePage": "https://shotreel.app/templates/carousel-flow",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "side",
          "label": "Side card scale",
          "default": 0.82,
          "min": 0.6,
          "max": 1,
          "step": 0.01,
          "unit": ""
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 5,
          "min": 1,
          "max": 15,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Horizontal",
            "Vertical"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "diagonal-carousel",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Diagonal Carousel",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/diagonal-carousel",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 40,
          "min": 20,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "overlap",
          "label": "Overlap",
          "default": 55,
          "min": 0,
          "max": 85,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Down-right ↘",
            "Down-left ↙",
            "Up-right ↗",
            "Up-left ↖"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "movement",
          "label": "Movement",
          "kind": "choice",
          "options": [
            "Continuous",
            "Stepped (per card)"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "focus-slider",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Focus Slider",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/focus-slider",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 82,
          "min": 40,
          "max": 100,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "center",
          "label": "Center scale",
          "default": 200,
          "min": 120,
          "max": 260,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "zigzag",
          "label": "Zigzag offset",
          "default": 55,
          "min": 0,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 6,
          "min": 1,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "slide",
          "label": "Slide portion",
          "default": 80,
          "min": 30,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Horizontal",
            "Vertical"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "zigzagMode",
          "label": "Zigzag mode",
          "kind": "choice",
          "options": [
            "Alternate (flip each step)",
            "Fixed"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "mosaic-marquee",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Mosaic Marquee",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "10",
      "sourcePage": "https://shotreel.app/templates/mosaic-marquee",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "height",
          "label": "Card height",
          "default": 55,
          "min": 30,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 3,
          "min": 0.5,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Layout 1",
            "Layout 2",
            "Layout 3"
          ],
          "default": 0,
          "structural": true
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "hero-reel",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Hero Reel",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "7",
      "sourcePage": "https://shotreel.app/templates/hero-reel",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "lift",
          "label": "Active lift",
          "default": 1.8,
          "min": 0,
          "max": 4,
          "step": 0.1,
          "unit": ""
        },
        {
          "key": "activeScale",
          "label": "Active scale",
          "default": 108,
          "min": 100,
          "max": 120,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spacing",
          "label": "Card spacing",
          "default": 2,
          "min": 0,
          "max": 6,
          "step": 0.5,
          "unit": ""
        },
        {
          "key": "heroOpacity",
          "label": "Hero opacity",
          "default": 55,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "kenBurns",
          "label": "Ken Burns",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "hold",
          "label": "Hold",
          "default": 55,
          "min": 20,
          "max": 80,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "style",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Grid",
            "Blinds"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "pattern",
          "label": "Pattern",
          "kind": "choice",
          "options": [
            "Normal",
            "Diagonal",
            "Radial",
            "Spiral",
            "Random"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "rows",
          "label": "Rows",
          "default": 4,
          "min": 1,
          "max": 8,
          "step": 1,
          "unit": ""
        },
        {
          "key": "cols",
          "label": "Columns",
          "default": 4,
          "min": 1,
          "max": 8,
          "step": 1,
          "unit": ""
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "speedVar",
          "label": "Speed Variation",
          "default": 0,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "ribbon-twist",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Ribbon Twist",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/ribbon-twist",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 4,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 30,
          "min": 18,
          "max": 48,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 4,
          "min": 0,
          "max": 15,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "twist",
          "label": "Twist",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "wave",
          "label": "Wave",
          "default": 30,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 26,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "grid-reveal",
      "category": "Grid",
      "paid": false,
      "name": "Grid Reveal",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 6.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/grid-reveal",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 3,
          "min": 0,
          "max": 10,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "order",
          "label": "Reveal order",
          "kind": "choice",
          "options": [
            "Rows",
            "Columns",
            "Diagonal"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "spotlight-zoom",
      "category": "Grid",
      "paid": true,
      "name": "Spotlight Zoom",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/spotlight-zoom",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 3,
          "min": 0,
          "max": 10,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "dim",
          "label": "Background dim",
          "default": 45,
          "min": 0,
          "max": 80,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "flip-grid",
      "category": "Grid",
      "paid": true,
      "name": "Flip Grid",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/flip-grid",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 3,
          "min": 0,
          "max": 10,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "axis",
          "label": "Flip axis",
          "kind": "choice",
          "options": [
            "Horizontal",
            "Vertical"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "pop-grid",
      "category": "Grid",
      "paid": true,
      "name": "Pop Grid",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/pop-grid",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 3,
          "min": 0,
          "max": 10,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "share",
          "label": "Visible share",
          "default": 62,
          "min": 30,
          "max": 85,
          "step": 1,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "ticker-loop",
      "category": "Grid",
      "paid": false,
      "name": "Ticker Loop",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/templates/ticker-loop"
    },
    {
      "id": "ticker-tilt",
      "category": "Grid",
      "paid": true,
      "name": "Ticker Tilt",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/templates/ticker-tilt"
    },
    {
      "id": "column-drift",
      "category": "Grid",
      "paid": true,
      "name": "Column Drift",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/column-drift",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 3,
          "min": 1,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "feed-scroll",
      "category": "Grid",
      "paid": false,
      "name": "Feed Scroll",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/feed-scroll",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 52,
          "min": 30,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spacing",
          "label": "Spacing",
          "default": 70,
          "min": 40,
          "max": 140,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "lanes",
          "label": "Lane spread",
          "default": 100,
          "min": 0,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "flick",
          "label": "Flick length",
          "default": 55,
          "min": 20,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "fadeIn",
          "label": "Fade in",
          "default": 50,
          "min": 10,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 0,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Flicks",
            "Steady"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "enter",
          "label": "Card enters by",
          "kind": "choice",
          "options": [
            "Fade",
            "Slide"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "bento-shuffle",
      "category": "Grid",
      "paid": true,
      "name": "Bento Shuffle",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/bento-shuffle",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 3,
          "min": 0.5,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "hold",
          "label": "Hold",
          "default": 55,
          "min": 10,
          "max": 85,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "center-stage",
      "category": "Spotlight & Focus",
      "paid": false,
      "name": "Center Stage",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 7.0,
      "slotsLiteral": "3",
      "sourcePage": "https://shotreel.app/templates/center-stage",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "travel",
          "label": "Travel distance",
          "default": 60,
          "min": 20,
          "max": 120,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "ghost",
          "label": "Ghost trail",
          "kind": "choice",
          "options": [
            "On",
            "Off"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 86,
          "min": 60,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "focus-shift",
      "category": "Spotlight & Focus",
      "paid": false,
      "name": "Focus Shift",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/focus-shift",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "rail",
          "label": "Rail size",
          "default": 26,
          "min": 18,
          "max": 40,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 2.5,
          "min": 0.5,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "deck-peel",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Deck Peel",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 9.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/deck-peel",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 48,
          "min": 35,
          "max": 65,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "peek",
          "label": "Stack peek",
          "default": 4,
          "min": 2,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "zoom-parallax",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Zoom Parallax",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 9.0,
      "slotsLiteral": "3",
      "sourcePage": "https://shotreel.app/templates/zoom-parallax",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "zoom",
          "label": "Zoom amount",
          "default": 12,
          "min": 4,
          "max": 25,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "pan",
          "label": "Pan direction",
          "kind": "choice",
          "options": [
            "Alternate",
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "diagonal-wipe",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Diagonal Wipe",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "3",
      "sourcePage": "https://shotreel.app/templates/diagonal-wipe",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "angle",
          "label": "Edge angle",
          "default": -20,
          "min": -45,
          "max": 45,
          "step": 5,
          "unit": "°"
        },
        {
          "key": "glow",
          "label": "Edge glow",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "stripe-reveal",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Stripe Reveal",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "3",
      "sourcePage": "https://shotreel.app/templates/stripe-reveal",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "strips",
          "label": "Strips",
          "default": 7,
          "min": 3,
          "max": 14,
          "step": 1,
          "unit": ""
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "split-reveal",
      "category": "Reveal & Wipe",
      "paid": false,
      "name": "Split Reveal",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/split-reveal",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "split",
          "label": "Split ratio",
          "default": 50,
          "min": 30,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 2,
          "min": 0,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "mosaic-wipe",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Mosaic Wipe",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/mosaic-wipe",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "rows",
          "label": "Rows",
          "default": 4,
          "min": 1,
          "max": 8,
          "step": 1,
          "unit": ""
        },
        {
          "key": "cols",
          "label": "Columns",
          "default": 4,
          "min": 1,
          "max": 8,
          "step": 1,
          "unit": ""
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "speedVar",
          "label": "Speed Variation",
          "default": 0,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "style",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Grid",
            "Blinds"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "pattern",
          "label": "Pattern",
          "kind": "choice",
          "options": [
            "Normal",
            "Diagonal",
            "Radial",
            "Spiral",
            "Random"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "stack-slide",
      "category": "Stack & Scatter",
      "paid": false,
      "name": "Stack Slide",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/stack-slide",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "inset",
          "label": "Card inset",
          "default": 4,
          "min": 0,
          "max": 15,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "depth",
          "label": "Depth scale",
          "default": 0.95,
          "min": 0.85,
          "max": 1,
          "step": 0.01,
          "unit": ""
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "cascade-drop",
      "category": "Stack & Scatter",
      "paid": false,
      "name": "Cascade Drop",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 7.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/cascade-drop",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "rotation",
          "label": "Rotation",
          "default": 100,
          "min": 0,
          "max": 200,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 78,
          "min": 50,
          "max": 95,
          "step": 1,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "cascade-deck",
      "category": "Stack & Scatter",
      "paid": true,
      "name": "Cascade Deck",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/cascade-deck",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 80,
          "min": 45,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "overlap",
          "label": "Overlap",
          "default": 70,
          "min": 40,
          "max": 85,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "One by one",
            "All together"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "image-trail",
      "category": "Stack & Scatter",
      "paid": true,
      "name": "Image Trail",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/image-trail",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 19,
          "min": 10,
          "max": 32,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "trail",
          "label": "Trail length",
          "default": 18,
          "min": 8,
          "max": 24,
          "step": 1,
          "unit": ""
        },
        {
          "key": "pop",
          "label": "Pop from",
          "default": 50,
          "min": 0,
          "max": 80,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "poster-burst",
      "category": "Stack & Scatter",
      "paid": true,
      "name": "Poster Burst",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "4",
      "sourcePage": "https://shotreel.app/templates/poster-burst",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "hold",
          "label": "Hold time",
          "default": 30,
          "min": 0,
          "max": 60,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "flow",
          "label": "Flow",
          "kind": "choice",
          "options": [
            "One by one",
            "Staggered",
            "Volley"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "card-toss",
      "category": "Stack & Scatter",
      "paid": false,
      "name": "Card Toss",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/card-toss",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 26,
          "min": 14,
          "max": 45,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "variation",
          "label": "Size variation",
          "default": 20,
          "min": 0,
          "max": 50,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "height",
          "label": "Throw height",
          "default": 75,
          "min": 40,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Horizontal spread",
          "default": 70,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "spin",
          "label": "Spin",
          "default": 12,
          "min": 0,
          "max": 45,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "flow",
          "label": "Flow",
          "kind": "choice",
          "options": [
            "One by one",
            "Staggered"
          ],
          "default": 1,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "position-dance",
      "category": "Stack & Scatter",
      "paid": true,
      "name": "Position Dance",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 4.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/position-dance",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 4,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 28,
          "min": 16,
          "max": 42,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spacing",
          "label": "Spacing",
          "default": 0,
          "min": -20,
          "max": 20,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "page-flip",
      "category": "Stack & Scatter",
      "paid": true,
      "name": "Page Flip",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 9.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/page-flip",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Page size",
          "default": 44,
          "min": 25,
          "max": 48,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "hold",
          "label": "Hold",
          "default": 45,
          "min": 10,
          "max": 80,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 30,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "spin-swap",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Spin Swap",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/spin-swap",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 74,
          "min": 30,
          "max": 92,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "axis",
          "label": "Spin axis",
          "kind": "choice",
          "options": [
            "Vertical",
            "Horizontal"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "move",
          "label": "Spin time",
          "default": 45,
          "min": 15,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "lift",
          "label": "Lift",
          "default": 20,
          "min": 0,
          "max": 60,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 22,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "flicker-cut",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Flicker Cut",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 5.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/flicker-cut",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "style",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Full bleed",
            "Inset",
            "Hop",
            "Pulse"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "cuts",
          "label": "Cuts per loop",
          "default": 24,
          "min": 4,
          "max": 80,
          "step": 1,
          "unit": ""
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 56,
          "min": 25,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "hop",
          "label": "Hop distance",
          "default": 40,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "pulse",
          "label": "Pulse",
          "default": 8,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "split-flap",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Split Flap",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/split-flap",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 78,
          "min": 30,
          "max": 92,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Strips",
          "default": 3,
          "min": 2,
          "max": 8,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "orient",
          "label": "Strips",
          "kind": "choice",
          "options": [
            "Rows",
            "Columns"
          ],
          "default": 0,
          "structural": true
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 1.5,
          "min": 0,
          "max": 6,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 45,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Flip time",
          "default": 55,
          "min": 20,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 20,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "infinite-zoom",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Infinite Zoom",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/infinite-zoom",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "nest",
          "label": "Inner size",
          "default": 62,
          "min": 40,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "twist",
          "label": "Twist",
          "default": 0,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "anchor",
          "label": "Anchor",
          "kind": "choice",
          "options": [
            "Centre",
            "Bottom"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "start",
          "label": "Outer size",
          "default": 96,
          "min": 60,
          "max": 120,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Smooth",
            "Stepped"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "proximity",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Proximity",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 14.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/proximity",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Density",
          "default": 14,
          "min": 6,
          "max": 24,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "max",
          "label": "Centre size",
          "default": 30,
          "min": 8,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "min",
          "label": "Edge size",
          "default": 2,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "reachR",
          "label": "Focus radius",
          "default": 24,
          "min": 8,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "jitter",
          "label": "Scatter",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 0,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "drift",
          "label": "Drift",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Sideways",
            "Up"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "gravity-drop",
      "category": "Stack & Scatter",
      "paid": true,
      "name": "Gravity Drop",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/gravity-drop",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 4,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 18,
          "min": 4,
          "max": 40,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 22,
          "min": 10,
          "max": 50,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "mess",
          "label": "Mess",
          "default": 40,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "bounce",
          "label": "Bounce",
          "default": 50,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "drop",
          "label": "Drop time",
          "default": 70,
          "min": 40,
          "max": 85,
          "step": 5,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "inside-globe",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Inside Globe",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 18.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/inside-globe",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 90,
          "min": 30,
          "max": 160,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 30,
          "min": 10,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "radiusR",
          "label": "Globe size",
          "default": 100,
          "min": 60,
          "max": 160,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Axis tilt",
          "default": 18,
          "min": 0,
          "max": 60,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 40,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "fov",
          "label": "Field of view",
          "default": 70,
          "min": 40,
          "max": 100,
          "step": 1,
          "unit": "°"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "magazine",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Magazine",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 12.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/magazine",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 8,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mode",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Page turn",
            "Cover spin"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "card",
          "label": "Page size",
          "default": 48,
          "min": 20,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "curl",
          "label": "Page curl",
          "default": 50,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 18,
          "min": 0,
          "max": 50,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "move",
          "label": "Turn time",
          "default": 55,
          "min": 20,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 26,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "stories",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Stories",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/stories",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1.5,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "strip",
          "label": "Thumbnails",
          "kind": "choice",
          "options": [
            "Bottom",
            "Right"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "thumb",
          "label": "Thumbnail size",
          "default": 9,
          "min": 4,
          "max": 18,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "dim",
          "label": "Dim others",
          "default": 55,
          "min": 0,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "drift",
          "label": "Background drift",
          "default": 8,
          "min": 0,
          "max": 25,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Switch time",
          "default": 20,
          "min": 5,
          "max": 60,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "drum-roll",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Drum Roll",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 10.0,
      "slotsLiteral": "10",
      "sourcePage": "https://shotreel.app/templates/drum-roll",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "axis",
          "label": "Roll",
          "kind": "choice",
          "options": [
            "Vertical",
            "Horizontal"
          ],
          "default": 0,
          "structural": true
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 10,
          "min": 6,
          "max": 24,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 42,
          "min": 15,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 6,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Roll time",
          "default": 45,
          "min": 10,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 80,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 24,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "card-cloud",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Card Cloud",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 16.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/card-cloud",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 30,
          "min": 8,
          "max": 60,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 26,
          "min": 8,
          "max": 40,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Spread",
          "default": 90,
          "min": 50,
          "max": 160,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tumble",
          "label": "Card tilt",
          "default": 20,
          "min": 0,
          "max": 60,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "tilt",
          "label": "Camera tilt",
          "default": 12,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 35,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 32,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "parallax-layers",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Parallax Layers",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 14.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/parallax-layers",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "layers",
          "label": "Layers",
          "kind": "choice",
          "options": [
            "2",
            "3"
          ],
          "default": 1,
          "structural": true
        },
        {
          "key": "card",
          "label": "Front card size",
          "default": 26,
          "min": 10,
          "max": 50,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "density",
          "label": "Density",
          "default": 60,
          "min": 20,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "dim",
          "label": "Dim far layers",
          "default": 55,
          "min": 0,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Up",
            "Down",
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "frame-wall",
      "category": "Grid",
      "paid": true,
      "name": "Frame Wall",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 20.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/frame-wall",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 26,
          "min": 18,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gutter",
          "default": 5,
          "min": 0.5,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mix",
          "label": "Size mix",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 0,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Bricks",
            "Grid"
          ],
          "default": 0,
          "structural": true
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Up",
            "Left"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "fly-through",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Fly Through",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 14.0,
      "slotsLiteral": "12",
      "sourcePage": "https://shotreel.app/templates/fly-through",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 24,
          "min": 8,
          "max": 48,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 34,
          "min": 15,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Spread",
          "default": 60,
          "min": 20,
          "max": 120,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "sway",
          "label": "Path sway",
          "default": 40,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "turn",
          "label": "Cards face path",
          "default": 40,
          "min": 0,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 50,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Forward",
            "Backward"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "push-wipe",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Push Wipe",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "6",
      "sourcePage": "https://shotreel.app/templates/push-wipe",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mode",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Push",
            "Cover",
            "Inset"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "direction",
          "label": "From",
          "kind": "choice",
          "options": [
            "Right",
            "Left",
            "Bottom",
            "Top"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "card",
          "label": "Inset size",
          "default": 70,
          "min": 30,
          "max": 95,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Wipe time",
          "default": 35,
          "min": 10,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 4,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "louver-row",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Louver Row",
      "kind": "motion",
      "evidenceType": "runtime-dom-catalog",
      "loopSeconds": 8.0,
      "slotsLiteral": "8",
      "sourcePage": "https://shotreel.app/templates/louver-row",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 3,
          "min": 2,
          "max": 9,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Row",
            "Column"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 3,
          "min": 0,
          "max": 15,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "axis",
          "label": "Turn",
          "kind": "choice",
          "options": [
            "Vertical",
            "Horizontal"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Turn time",
          "default": 60,
          "min": 20,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 24,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "flip-swap",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Flip Swap",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "spin-swap",
      "overrides": {
        "axis": 1,
        "lift": 30
      },
      "definitionOffset": 277988,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 74,
          "min": 30,
          "max": 92,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "axis",
          "label": "Spin axis",
          "kind": "choice",
          "options": [
            "Vertical",
            "Horizontal"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "move",
          "label": "Spin time",
          "default": 45,
          "min": 15,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "lift",
          "label": "Lift",
          "default": 30,
          "min": 0,
          "max": 60,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 22,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "flicker-inset",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Flicker Inset",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "flicker-cut",
      "overrides": {
        "style": 1,
        "cuts": 16,
        "card": 60
      },
      "definitionOffset": 278036,
      "loopSeconds": 5.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "style",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Full bleed",
            "Inset",
            "Hop",
            "Pulse"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "cuts",
          "label": "Cuts per loop",
          "default": 16,
          "min": 4,
          "max": 80,
          "step": 1,
          "unit": ""
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 60,
          "min": 25,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "hop",
          "label": "Hop distance",
          "default": 40,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "pulse",
          "label": "Pulse",
          "default": 8,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "flicker-hop",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Flicker Hop",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "flicker-cut",
      "overrides": {
        "style": 2,
        "cuts": 20,
        "card": 46,
        "hop": 70
      },
      "definitionOffset": 278101,
      "loopSeconds": 5.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "style",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Full bleed",
            "Inset",
            "Hop",
            "Pulse"
          ],
          "default": 2,
          "structural": false
        },
        {
          "key": "cuts",
          "label": "Cuts per loop",
          "default": 20,
          "min": 4,
          "max": 80,
          "step": 1,
          "unit": ""
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 46,
          "min": 25,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "hop",
          "label": "Hop distance",
          "default": 70,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "pulse",
          "label": "Pulse",
          "default": 8,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "flicker-pulse",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Flicker Pulse",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "flicker-cut",
      "overrides": {
        "style": 3,
        "cuts": 16,
        "card": 62,
        "pulse": 16
      },
      "definitionOffset": 278169,
      "loopSeconds": 5.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "style",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Full bleed",
            "Inset",
            "Hop",
            "Pulse"
          ],
          "default": 3,
          "structural": false
        },
        {
          "key": "cuts",
          "label": "Cuts per loop",
          "default": 16,
          "min": 4,
          "max": 80,
          "step": 1,
          "unit": ""
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 62,
          "min": 25,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "hop",
          "label": "Hop distance",
          "default": 40,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "pulse",
          "label": "Pulse",
          "default": 16,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "flap-board",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Flap Board",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "split-flap",
      "overrides": {
        "count": 6,
        "gap": 1,
        "stagger": 70
      },
      "definitionOffset": 278243,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 78,
          "min": 30,
          "max": 92,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Strips",
          "default": 6,
          "min": 2,
          "max": 8,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "orient",
          "label": "Strips",
          "kind": "choice",
          "options": [
            "Rows",
            "Columns"
          ],
          "default": 0,
          "structural": true
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 1,
          "min": 0,
          "max": 6,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 70,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Flip time",
          "default": 55,
          "min": 20,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 20,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "split-columns",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Split Columns",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "split-flap",
      "overrides": {
        "orient": 1,
        "count": 3,
        "gap": 2
      },
      "definitionOffset": 278303,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 78,
          "min": 30,
          "max": 92,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Strips",
          "default": 3,
          "min": 2,
          "max": 8,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "orient",
          "label": "Strips",
          "kind": "choice",
          "options": [
            "Rows",
            "Columns"
          ],
          "default": 1,
          "structural": true
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 2,
          "min": 0,
          "max": 6,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 45,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Flip time",
          "default": 55,
          "min": 20,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 20,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "twin-flap",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Twin Flap",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "split-flap",
      "overrides": {
        "orient": 1,
        "count": 2,
        "gap": 2.5,
        "stagger": 30
      },
      "definitionOffset": 278367,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 78,
          "min": 30,
          "max": 92,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Strips",
          "default": 2,
          "min": 2,
          "max": 8,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "orient",
          "label": "Strips",
          "kind": "choice",
          "options": [
            "Rows",
            "Columns"
          ],
          "default": 1,
          "structural": true
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 2.5,
          "min": 0,
          "max": 6,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 30,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Flip time",
          "default": 55,
          "min": 20,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 20,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "zoom-spiral",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Zoom Spiral",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "infinite-zoom",
      "overrides": {
        "twist": 14,
        "nest": 66
      },
      "definitionOffset": 278436,
      "loopSeconds": 10.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "nest",
          "label": "Inner size",
          "default": 66,
          "min": 40,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "twist",
          "label": "Twist",
          "default": 14,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "anchor",
          "label": "Anchor",
          "kind": "choice",
          "options": [
            "Centre",
            "Bottom"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "start",
          "label": "Outer size",
          "default": 96,
          "min": 60,
          "max": 120,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Smooth",
            "Stepped"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "zoom-steps",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Zoom Steps",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "infinite-zoom",
      "overrides": {
        "motion": 1,
        "nest": 58
      },
      "definitionOffset": 278490,
      "loopSeconds": 10.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "nest",
          "label": "Inner size",
          "default": 58,
          "min": 40,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "twist",
          "label": "Twist",
          "default": 0,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "anchor",
          "label": "Anchor",
          "kind": "choice",
          "options": [
            "Centre",
            "Bottom"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "start",
          "label": "Outer size",
          "default": 96,
          "min": 60,
          "max": 120,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Smooth",
            "Stepped"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "zoom-floor",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Zoom Floor",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "infinite-zoom",
      "overrides": {
        "anchor": 1,
        "nest": 60
      },
      "definitionOffset": 278542,
      "loopSeconds": 10.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "nest",
          "label": "Inner size",
          "default": 60,
          "min": 40,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "twist",
          "label": "Twist",
          "default": 0,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "anchor",
          "label": "Anchor",
          "kind": "choice",
          "options": [
            "Centre",
            "Bottom"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "start",
          "label": "Outer size",
          "default": 96,
          "min": 60,
          "max": 120,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Smooth",
            "Stepped"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "proximity-cluster",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Proximity Cluster",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "proximity",
      "overrides": {
        "count": 18,
        "max": 40,
        "min": 1,
        "reachR": 18
      },
      "definitionOffset": 278594,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Density",
          "default": 18,
          "min": 6,
          "max": 24,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "max",
          "label": "Centre size",
          "default": 40,
          "min": 8,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "min",
          "label": "Edge size",
          "default": 1,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "reachR",
          "label": "Focus radius",
          "default": 18,
          "min": 8,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "jitter",
          "label": "Scatter",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 0,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "drift",
          "label": "Drift",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Sideways",
            "Up"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "proximity-scatter",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Proximity Scatter",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "proximity",
      "overrides": {
        "count": 10,
        "max": 26,
        "min": 4,
        "reachR": 30,
        "tilt": 16,
        "jitter": 100
      },
      "definitionOffset": 278675,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Density",
          "default": 10,
          "min": 6,
          "max": 24,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "max",
          "label": "Centre size",
          "default": 26,
          "min": 8,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "min",
          "label": "Edge size",
          "default": 4,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "reachR",
          "label": "Focus radius",
          "default": 30,
          "min": 8,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "jitter",
          "label": "Scatter",
          "default": 100,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 16,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "drift",
          "label": "Drift",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Sideways",
            "Up"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "proximity-rise",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Proximity Rise",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "proximity",
      "overrides": {
        "drift": 2,
        "count": 14,
        "max": 28,
        "min": 3,
        "reachR": 28
      },
      "definitionOffset": 278775,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Density",
          "default": 14,
          "min": 6,
          "max": 24,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "max",
          "label": "Centre size",
          "default": 28,
          "min": 8,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "min",
          "label": "Edge size",
          "default": 3,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "reachR",
          "label": "Focus radius",
          "default": 28,
          "min": 8,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "jitter",
          "label": "Scatter",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 0,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "drift",
          "label": "Drift",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Sideways",
            "Up"
          ],
          "default": 2,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "gravity-pile",
      "category": "Stack & Scatter",
      "paid": true,
      "name": "Gravity Pile",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "gravity-drop",
      "overrides": {
        "count": 28,
        "card": 17,
        "mess": 85,
        "bounce": 30
      },
      "definitionOffset": 278858,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 4,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 28,
          "min": 4,
          "max": 40,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 17,
          "min": 10,
          "max": 50,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "mess",
          "label": "Mess",
          "default": 85,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "bounce",
          "label": "Bounce",
          "default": 30,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "drop",
          "label": "Drop time",
          "default": 70,
          "min": 40,
          "max": 85,
          "step": 5,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "gravity-big",
      "category": "Stack & Scatter",
      "paid": true,
      "name": "Gravity Big",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "gravity-drop",
      "overrides": {
        "count": 8,
        "card": 38,
        "mess": 70,
        "bounce": 60
      },
      "definitionOffset": 278932,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 4,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 8,
          "min": 4,
          "max": 40,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 38,
          "min": 10,
          "max": 50,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "mess",
          "label": "Mess",
          "default": 70,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "bounce",
          "label": "Bounce",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "drop",
          "label": "Drop time",
          "default": 70,
          "min": 40,
          "max": 85,
          "step": 5,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "star-cards",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Star Cards",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "inside-globe",
      "overrides": {
        "count": 160,
        "card": 12,
        "fov": 90
      },
      "definitionOffset": 279003,
      "loopSeconds": 18.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 160,
          "min": 30,
          "max": 160,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 12,
          "min": 10,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "radiusR",
          "label": "Globe size",
          "default": 100,
          "min": 60,
          "max": 160,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Axis tilt",
          "default": 18,
          "min": 0,
          "max": 60,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 40,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "fov",
          "label": "Field of view",
          "default": 90,
          "min": 40,
          "max": 100,
          "step": 1,
          "unit": "°"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "inside-globe-dense",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Inside Globe Dense",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "inside-globe",
      "overrides": {
        "count": 140,
        "card": 20,
        "tilt": 30
      },
      "definitionOffset": 279063,
      "loopSeconds": 18.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 140,
          "min": 30,
          "max": 160,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 20,
          "min": 10,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "radiusR",
          "label": "Globe size",
          "default": 100,
          "min": 60,
          "max": 160,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Axis tilt",
          "default": 30,
          "min": 0,
          "max": 60,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 40,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "fov",
          "label": "Field of view",
          "default": 70,
          "min": 40,
          "max": 100,
          "step": 1,
          "unit": "°"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "cover-spin",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Cover Spin",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "magazine",
      "overrides": {
        "mode": 1,
        "tilt": 24,
        "move": 70
      },
      "definitionOffset": 279140,
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 8,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mode",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Page turn",
            "Cover spin"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "card",
          "label": "Page size",
          "default": 48,
          "min": 20,
          "max": 60,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "curl",
          "label": "Page curl",
          "default": 50,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 24,
          "min": 0,
          "max": 50,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "move",
          "label": "Turn time",
          "default": 70,
          "min": 20,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 26,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "stories-side",
      "category": "Spotlight & Focus",
      "paid": true,
      "name": "Stories Side",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "stories",
      "overrides": {
        "strip": 1,
        "thumb": 8
      },
      "definitionOffset": 279198,
      "loopSeconds": 10.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 1.5,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "strip",
          "label": "Thumbnails",
          "kind": "choice",
          "options": [
            "Bottom",
            "Right"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "thumb",
          "label": "Thumbnail size",
          "default": 8,
          "min": 4,
          "max": 18,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "dim",
          "label": "Dim others",
          "default": 55,
          "min": 0,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "drift",
          "label": "Background drift",
          "default": 8,
          "min": 0,
          "max": 25,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Switch time",
          "default": 20,
          "min": 5,
          "max": 60,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "drum-roll-sideways",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Drum Roll Sideways",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "drum-roll",
      "overrides": {
        "axis": 1,
        "card": 36
      },
      "definitionOffset": 279253,
      "loopSeconds": 10.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "axis",
          "label": "Roll",
          "kind": "choice",
          "options": [
            "Vertical",
            "Horizontal"
          ],
          "default": 1,
          "structural": true
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 10,
          "min": 6,
          "max": 24,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 36,
          "min": 15,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 6,
          "min": 0,
          "max": 30,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Roll time",
          "default": 45,
          "min": 10,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 80,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 24,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "card-swarm",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Card Swarm",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "card-cloud",
      "overrides": {
        "count": 40,
        "card": 26,
        "spread": 110,
        "tumble": 35
      },
      "definitionOffset": 279319,
      "loopSeconds": 16.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 40,
          "min": 8,
          "max": 60,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 26,
          "min": 8,
          "max": 40,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Spread",
          "default": 110,
          "min": 50,
          "max": 160,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tumble",
          "label": "Card tilt",
          "default": 35,
          "min": 0,
          "max": 60,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "tilt",
          "label": "Camera tilt",
          "default": 12,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Left",
            "Right"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 35,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 32,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "parallax-drift",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Parallax Drift",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "parallax-layers",
      "overrides": {
        "layers": 0,
        "direction": 3,
        "card": 30
      },
      "definitionOffset": 279392,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "layers",
          "label": "Layers",
          "kind": "choice",
          "options": [
            "2",
            "3"
          ],
          "default": 0,
          "structural": true
        },
        {
          "key": "card",
          "label": "Front card size",
          "default": 30,
          "min": 10,
          "max": 50,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "density",
          "label": "Density",
          "default": 60,
          "min": 20,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "dim",
          "label": "Dim far layers",
          "default": 55,
          "min": 0,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Up",
            "Down",
            "Left",
            "Right"
          ],
          "default": 3,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "frame-wall-tilt",
      "category": "Grid",
      "paid": true,
      "name": "Frame Wall Tilt",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "frame-wall",
      "overrides": {
        "tilt": 14,
        "card": 30,
        "gap": 6
      },
      "definitionOffset": 279464,
      "loopSeconds": 20.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 30,
          "min": 18,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gutter",
          "default": 6,
          "min": 0.5,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mix",
          "label": "Size mix",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 14,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Bricks",
            "Grid"
          ],
          "default": 0,
          "structural": true
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Up",
            "Left"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "waffle-grid",
      "category": "Grid",
      "paid": true,
      "name": "Waffle Grid",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "frame-wall",
      "overrides": {
        "layout": 1,
        "card": 20,
        "gap": 10,
        "direction": 1
      },
      "definitionOffset": 279531,
      "loopSeconds": 20.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 20,
          "min": 18,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gutter",
          "default": 10,
          "min": 0.5,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mix",
          "label": "Size mix",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 0,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Bricks",
            "Grid"
          ],
          "default": 1,
          "structural": true
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Up",
            "Left"
          ],
          "default": 1,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "brick-wall",
      "category": "Grid",
      "paid": true,
      "name": "Brick Wall",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "frame-wall",
      "overrides": {
        "direction": 2,
        "mix": 95,
        "card": 32,
        "gap": 3
      },
      "definitionOffset": 279604,
      "loopSeconds": 20.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 32,
          "min": 18,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "gap",
          "label": "Gutter",
          "default": 3,
          "min": 0.5,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mix",
          "label": "Size mix",
          "default": 95,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Tilt",
          "default": 0,
          "min": -30,
          "max": 30,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Bricks",
            "Grid"
          ],
          "default": 0,
          "structural": true
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Diagonal",
            "Up",
            "Left"
          ],
          "default": 2,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "fly-through-wide",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Fly Through Wide",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "fly-through",
      "overrides": {
        "spread": 100,
        "sway": 70,
        "turn": 60,
        "card": 40
      },
      "definitionOffset": 279672,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 24,
          "min": 8,
          "max": 48,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 40,
          "min": 15,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Spread",
          "default": 100,
          "min": 20,
          "max": 120,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "sway",
          "label": "Path sway",
          "default": 70,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "turn",
          "label": "Cards face path",
          "default": 60,
          "min": 0,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 50,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Forward",
            "Backward"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "cover-slide",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Cover Slide",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "push-wipe",
      "overrides": {
        "mode": 1,
        "direction": 2
      },
      "definitionOffset": 279754,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mode",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Push",
            "Cover",
            "Inset"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "direction",
          "label": "From",
          "kind": "choice",
          "options": [
            "Right",
            "Left",
            "Bottom",
            "Top"
          ],
          "default": 2,
          "structural": false
        },
        {
          "key": "card",
          "label": "Inset size",
          "default": 70,
          "min": 30,
          "max": 95,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Wipe time",
          "default": 35,
          "min": 10,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 4,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "inset-wipe",
      "category": "Reveal & Wipe",
      "paid": true,
      "name": "Inset Wipe",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "push-wipe",
      "overrides": {
        "mode": 2,
        "card": 72,
        "easing": 1
      },
      "definitionOffset": 279810,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 0,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 0,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "mode",
          "label": "Style",
          "kind": "choice",
          "options": [
            "Push",
            "Cover",
            "Inset"
          ],
          "default": 2,
          "structural": false
        },
        {
          "key": "direction",
          "label": "From",
          "kind": "choice",
          "options": [
            "Right",
            "Left",
            "Bottom",
            "Top"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "card",
          "label": "Inset size",
          "default": 72,
          "min": 30,
          "max": 95,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Wipe time",
          "default": 35,
          "min": 10,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "louver-pair",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Louver Pair",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "louver-row",
      "overrides": {
        "count": 2,
        "gap": 4
      },
      "definitionOffset": 279869,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 2,
          "min": 2,
          "max": 9,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Row",
            "Column"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 4,
          "min": 0,
          "max": 15,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "axis",
          "label": "Turn",
          "kind": "choice",
          "options": [
            "Vertical",
            "Horizontal"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 60,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Turn time",
          "default": 60,
          "min": 20,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 24,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "louver-blinds",
      "category": "Carousel & Flow",
      "paid": true,
      "name": "Louver Blinds",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "louver-row",
      "overrides": {
        "count": 4,
        "layout": 1,
        "gap": 1.5,
        "axis": 1,
        "stagger": 80
      },
      "definitionOffset": 279920,
      "loopSeconds": 8.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 2,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 4,
          "min": 2,
          "max": 9,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Row",
            "Column"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "gap",
          "label": "Gap",
          "default": 1.5,
          "min": 0,
          "max": 15,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "axis",
          "label": "Turn",
          "kind": "choice",
          "options": [
            "Vertical",
            "Horizontal"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 80,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "move",
          "label": "Turn time",
          "default": 60,
          "min": 20,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 24,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "field-flight",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Field Flight",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "depth-scroll",
      "overrides": {
        "count": 20,
        "card": 60,
        "spread": 80,
        "depthGap": 30,
        "layout": 1
      },
      "definitionOffset": 280004,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 60,
          "min": 20,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 20,
          "min": 4,
          "max": 50,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "depthGap",
          "label": "Depth gap",
          "default": 30,
          "min": 18,
          "max": 80,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Spread",
          "default": 80,
          "min": 0,
          "max": 120,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "wobble",
          "label": "Wobble",
          "default": 0,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 45,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthBlur",
          "label": "Depth blur",
          "default": 0,
          "min": 0,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Fan",
            "Scatter"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Forward",
            "Backward"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "field-dense",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Field Dense",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "depth-scroll",
      "overrides": {
        "count": 30,
        "card": 48,
        "spread": 95,
        "depthGap": 22,
        "depthFade": 50,
        "layout": 1
      },
      "definitionOffset": 280091,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 48,
          "min": 20,
          "max": 70,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 30,
          "min": 4,
          "max": 50,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "depthGap",
          "label": "Depth gap",
          "default": 22,
          "min": 18,
          "max": 80,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "spread",
          "label": "Spread",
          "default": 95,
          "min": 0,
          "max": 120,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "wobble",
          "label": "Wobble",
          "default": 0,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthFade",
          "label": "Depth fade",
          "default": 50,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "depthBlur",
          "label": "Depth blur",
          "default": 0,
          "min": 0,
          "max": 8,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "layout",
          "label": "Layout",
          "kind": "choice",
          "options": [
            "Fan",
            "Scatter"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Forward",
            "Backward"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "marquee-tilt",
      "category": "Grid",
      "paid": true,
      "name": "Marquee Tilt",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "ticker-tilt",
      "overrides": {
        "zoom": 26,
        "tilt": 22,
        "rowGap": 6,
        "flow": 1
      },
      "definitionOffset": 280189,
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "marquee-steep",
      "category": "Grid",
      "paid": true,
      "name": "Marquee Steep",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "ticker-tilt",
      "overrides": {
        "zoom": 28,
        "tilt": 42,
        "rowGap": 3,
        "flow": 0
      },
      "definitionOffset": 280260,
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "marquee-dense",
      "category": "Grid",
      "paid": true,
      "name": "Marquee Dense",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "ticker-loop",
      "overrides": {
        "zoom": 22,
        "rowGap": 2,
        "tilt": 0
      },
      "definitionOffset": 280333,
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "marquee-columns",
      "category": "Grid",
      "paid": true,
      "name": "Marquee Columns",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "ticker-loop",
      "overrides": {
        "zoom": 34,
        "orientation": 1,
        "rowGap": 5
      },
      "definitionOffset": 280398,
      "loopSeconds": 12.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "feed-steady",
      "category": "Grid",
      "paid": true,
      "name": "Feed Steady",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "feed-scroll",
      "overrides": {
        "motion": 1,
        "card": 44,
        "spacing": 60
      },
      "definitionOffset": 280474,
      "loopSeconds": 10.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 44,
          "min": 30,
          "max": 80,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "spacing",
          "label": "Spacing",
          "default": 60,
          "min": 40,
          "max": 140,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "lanes",
          "label": "Lane spread",
          "default": 100,
          "min": 0,
          "max": 100,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "flick",
          "label": "Flick length",
          "default": 55,
          "min": 20,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "fadeIn",
          "label": "Fade in",
          "default": 50,
          "min": 10,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "stagger",
          "label": "Stagger",
          "default": 0,
          "min": 0,
          "max": 100,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Flicks",
            "Steady"
          ],
          "default": 1,
          "structural": false
        },
        {
          "key": "enter",
          "label": "Card enters by",
          "kind": "choice",
          "options": [
            "Fade",
            "Slide"
          ],
          "default": 0,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "ring-top",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Ring Top",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "ring-stream",
      "overrides": {
        "tilt": -56,
        "opening": 70,
        "card": 18
      },
      "definitionOffset": 280539,
      "loopSeconds": 16.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Ring tilt",
          "default": -56,
          "min": -60,
          "max": 60,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "opening",
          "label": "Ring opening",
          "default": 70,
          "min": 15,
          "max": 85,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "size",
          "label": "Ring size",
          "default": 80,
          "min": 50,
          "max": 95,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 18,
          "min": 12,
          "max": 32,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 70,
          "min": 10,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 18,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "ring-low",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Ring Low",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "ring-stream",
      "overrides": {
        "tilt": 20,
        "opening": 40,
        "size": 90
      },
      "definitionOffset": 280598,
      "loopSeconds": 16.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Ring tilt",
          "default": 20,
          "min": -60,
          "max": 60,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "opening",
          "label": "Ring opening",
          "default": 40,
          "min": 15,
          "max": 85,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "size",
          "label": "Ring size",
          "default": 90,
          "min": 50,
          "max": 95,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 21,
          "min": 12,
          "max": 32,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 70,
          "min": 10,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 18,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    },
    {
      "id": "cover-ring-wide",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Cover Ring Wide",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "cover-ring",
      "overrides": {
        "card": 28,
        "size": 220,
        "perspective": 70
      },
      "definitionOffset": 280656,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "cover-ring-tilted",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Cover Ring Tilted",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "cover-ring-vertical",
      "overrides": {
        "rotate": 24,
        "card": 30
      },
      "definitionOffset": 280733,
      "loopSeconds": 14.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "disco-globe",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Disco Globe",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "card-globe",
      "overrides": {
        "size": 55,
        "card": 10
      },
      "definitionOffset": 280800,
      "loopSeconds": 20.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "sphere-wall-close",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Sphere Wall Close",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "sphere-wall",
      "overrides": {
        "zoom": 32,
        "gap": 3
      },
      "definitionOffset": 280853,
      "loopSeconds": 20.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "column-wall-close",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Column Wall Close",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "column-wall",
      "overrides": {
        "zoom": 46,
        "gap": 4
      },
      "definitionOffset": 280916,
      "loopSeconds": 20.0,
      "sourcePage": "https://shotreel.app/studio"
    },
    {
      "id": "spiral-flat",
      "category": "3D & Perspective",
      "paid": true,
      "name": "Spiral Flat",
      "kind": "variant",
      "evidenceType": "static-public-config",
      "presetOf": "spiral",
      "overrides": {
        "style": 1,
        "turns": 2.5,
        "count": 18,
        "tilt": 20
      },
      "definitionOffset": 280979,
      "loopSeconds": 28.0,
      "sourcePage": "https://shotreel.app/studio",
      "parameterMetadata": [
        {
          "key": "padding",
          "label": "Padding",
          "default": 6,
          "min": 0,
          "max": 20,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "radius",
          "label": "Corner radius",
          "default": 3,
          "min": 0,
          "max": 12,
          "step": 0.5,
          "unit": "%"
        },
        {
          "key": "turns",
          "label": "Spiral turns",
          "default": 2.5,
          "min": 1,
          "max": 6,
          "step": 0.25,
          "unit": ""
        },
        {
          "key": "count",
          "label": "Card count",
          "default": 18,
          "min": 8,
          "max": 48,
          "step": 1,
          "unit": "",
          "structural": true
        },
        {
          "key": "size",
          "label": "Spiral size",
          "default": 62,
          "min": 35,
          "max": 90,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "taper",
          "label": "Taper",
          "default": 0,
          "min": -90,
          "max": 90,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "card",
          "label": "Card size",
          "default": 33,
          "min": 12,
          "max": 36,
          "step": 1,
          "unit": "%"
        },
        {
          "key": "backFade",
          "label": "Back fade",
          "default": 55,
          "min": 10,
          "max": 95,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "perspective",
          "label": "Perspective",
          "default": 20,
          "min": 0,
          "max": 40,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "tilt",
          "label": "Ring tilt",
          "default": 20,
          "min": -45,
          "max": 45,
          "step": 1,
          "unit": "°"
        },
        {
          "key": "cardGap",
          "label": "Card gap",
          "default": 28,
          "min": 0,
          "max": 50,
          "step": 2,
          "unit": "%"
        },
        {
          "key": "pulse",
          "label": "Scale pulse",
          "default": 0,
          "min": 0,
          "max": 60,
          "step": 5,
          "unit": "%"
        },
        {
          "key": "easing",
          "label": "Easing",
          "kind": "select",
          "default": 1,
          "options": "source-indexed easing list"
        },
        {
          "key": "direction",
          "label": "Direction",
          "kind": "choice",
          "options": [
            "Downward",
            "Upward"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "motion",
          "label": "Motion",
          "kind": "choice",
          "options": [
            "Continuous",
            "Fast–slow–fast",
            "Step per card"
          ],
          "default": 0,
          "structural": false
        },
        {
          "key": "style",
          "label": "Card style",
          "kind": "choice",
          "options": [
            "Curved (3D bend)",
            "Upright (flat)"
          ],
          "default": 1,
          "structural": false
        }
      ],
      "parameterMetadataCoverage": "static literal helper calls only; dynamic params may be omitted"
    }
  ],
  "publicCatalogSources": [
    "https://shotreel.app/templates/3d",
    "https://shotreel.app/templates/multiscene",
    "https://shotreel.app/templates/isometric",
    "https://shotreel.app/templates/orbit",
    "https://shotreel.app/templates/carousel",
    "https://shotreel.app/templates/grid",
    "https://shotreel.app/templates/spotlight",
    "https://shotreel.app/templates/reveal",
    "https://shotreel.app/templates/stack"
  ]
}