{
  "version": 1,
  "assets": [
    {
      "id": "lightspeed",
      "name": "Lightspeed",
      "group": "assets",
      "category": "Objects",
      "description": "Prismatic streaks travel outward from a vanishing point.",
      "notes": [
        "The authored motion repeats every 8 timeline seconds at speed 1."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Lightspeed",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "colorMode",
          "type": "enum",
          "default": "spectrum",
          "description": "Use the authored spectrum or the three custom trail colors.",
          "values": [
            "spectrum",
            "custom"
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#ff4325",
          "description": "Trail tail color; used in custom color mode."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#ffe56b",
          "description": "Trail middle color; used in custom color mode."
        },
        {
          "key": "color3",
          "type": "string",
          "default": "#12bfff",
          "description": "Trail head color; used in custom color mode."
        },
        {
          "key": "streakCount",
          "type": "number",
          "default": 160,
          "description": "Number of light streaks. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
          "suggestedRange": [
            16,
            600
          ]
        },
        {
          "key": "trail",
          "type": "number",
          "default": 1.7,
          "description": "Length of the light trails.",
          "suggestedRange": [
            0.2,
            5
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1,
          "description": "Width or size multiplier of rendered strands or particles.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "softness",
          "type": "number",
          "default": 0.32,
          "description": "Softness of streaks or color transitions.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 0.65,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "spread",
          "type": "number",
          "default": 0.45,
          "description": "Tunnel spread.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "seed",
          "type": "number",
          "default": 17,
          "description": "Variation seed for the procedural texture or geometry.",
          "suggestedRange": [
            1,
            100
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "neon-wave",
      "name": "Neon wave",
      "group": "assets",
      "category": "Objects",
      "description": "Cyan, magenta and blue ribbons flow above a soft reflection.",
      "notes": [
        "The authored motion repeats every 6.47 timeline seconds at speed 1."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Neon wave",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#00efcf",
          "description": "Cyan ribbon color."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#a600ff",
          "description": "Magenta ribbon color."
        },
        {
          "key": "color3",
          "type": "string",
          "default": "#133fff",
          "description": "Blue ribbon color."
        },
        {
          "key": "intensity",
          "type": "number",
          "default": 0.8,
          "description": "Wave height.",
          "suggestedRange": [
            0,
            1.5
          ]
        },
        {
          "key": "spread",
          "type": "number",
          "default": 0.65,
          "description": "Wave spread.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "reflection",
          "type": "number",
          "default": 0.28,
          "description": "Strength of the reflected ribbons.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "agentic-text",
      "name": "Agentic text",
      "group": "assets",
      "category": "Objects",
      "description": "Editable glyph outlines made from rippling pink and violet particles.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Agentic text",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "content",
          "type": "string",
          "default": "6.1",
          "description": "Text or symbol. Up to 48 Unicode characters and 3 lines; excess content is trimmed."
        },
        {
          "key": "font",
          "type": "enum",
          "default": "sans",
          "description": "Typeface family used to construct the glyphs.",
          "values": [
            "sans",
            "serif",
            "mono"
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#f0449c",
          "description": "Upper particles."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#bd56e9",
          "description": "Lower particles."
        },
        {
          "key": "color3",
          "type": "string",
          "default": "#ee9ad5",
          "description": "Halo tint."
        },
        {
          "key": "density",
          "type": "number",
          "default": 12000,
          "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
          "suggestedRange": [
            2000,
            16000
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1.1,
          "description": "Width or size multiplier of rendered strands or particles.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "scatter",
          "type": "number",
          "default": 0.35,
          "description": "Particle scatter strength.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "intensity",
          "type": "number",
          "default": 0.7,
          "description": "Ripple strength.",
          "suggestedRange": [
            0,
            1.5
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "agentic-ring",
      "name": "Agentic ring",
      "group": "assets",
      "category": "Objects",
      "description": "A particle ring with an opening sweep, drifting dots and pointer response.",
      "notes": [
        "The opening sweep runs once, then settles into ambient motion. Use art.seek(0) to replay the opening. Pointer response can continue while paused."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Agentic ring",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#f0449c",
          "description": "Upper particles."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#bd56e9",
          "description": "Lower particles."
        },
        {
          "key": "color3",
          "type": "string",
          "default": "#ee9ad5",
          "description": "Halo tint."
        },
        {
          "key": "density",
          "type": "number",
          "default": 10000,
          "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
          "suggestedRange": [
            2000,
            16000
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1,
          "description": "Width or size multiplier of rendered strands or particles.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "scatter",
          "type": "number",
          "default": 0.55,
          "description": "Particle scatter strength.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "intensity",
          "type": "number",
          "default": 0.7,
          "description": "Ripple strength.",
          "suggestedRange": [
            0,
            1.5
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "crypto-globe",
      "name": "Crypto globe",
      "group": "assets",
      "category": "Objects",
      "description": "A dotted globe with colored arcs and glowing transfer endpoints.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Crypto globe",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#7864ff",
          "description": "Violet dot color."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#f768ef",
          "description": "Pink dot color."
        },
        {
          "key": "color3",
          "type": "string",
          "default": "#ff9176",
          "description": "Coral dot color."
        },
        {
          "key": "size",
          "type": "number",
          "default": 1,
          "description": "Dot size multiplier.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1,
          "description": "Endpoint glow strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "scatter",
          "type": "number",
          "default": 0.14,
          "description": "Edge scatter.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "intensity",
          "type": "number",
          "default": 0.65,
          "description": "Arc height.",
          "suggestedRange": [
            0,
            1.5
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "globe-backdrop",
      "name": "Pearl atmosphere",
      "group": "assets",
      "category": "Static backgrounds",
      "description": "A pale sky and horizon wash for the globe or your own composition.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Pearl atmosphere",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#ffffff",
          "description": "Sky color."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#e4e5ff",
          "description": "Horizon color."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        }
      ]
    },
    {
      "id": "neon-transit",
      "name": "Neon transit",
      "group": "assets",
      "category": "Objects",
      "description": "Joined neon trails carry light outward on both sides.",
      "notes": [
        "The authored motion repeats every 10 timeline seconds at speed 1."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Neon transit",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#1000ff",
          "description": "Upper ribbons."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#ff0800",
          "description": "Lower ribbons."
        },
        {
          "key": "color3",
          "type": "string",
          "default": "#ff00ce",
          "description": "Middle ribbons."
        },
        {
          "key": "color4",
          "type": "string",
          "default": "#00dcff",
          "description": "Cyan rails."
        },
        {
          "key": "trailLength",
          "type": "number",
          "default": 3,
          "description": "Extent of the neon trails beyond the join.",
          "suggestedRange": [
            1,
            8
          ]
        },
        {
          "key": "spread",
          "type": "number",
          "default": 0.56,
          "description": "Fan spread.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "joinWidth",
          "type": "number",
          "default": 0.022,
          "description": "Width of the central join.",
          "suggestedRange": [
            0.003,
            0.08
          ]
        },
        {
          "key": "centerGap",
          "type": "number",
          "default": 0,
          "description": "Fade around the center join.",
          "suggestedRange": [
            0,
            0.65
          ]
        },
        {
          "key": "curvature",
          "type": "number",
          "default": 2.55,
          "description": "Curvature of the neon trails.",
          "suggestedRange": [
            1,
            4
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1,
          "description": "Trail width multiplier.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "intensity",
          "type": "number",
          "default": 0.7,
          "description": "Traveling light strength.",
          "suggestedRange": [
            0,
            1.5
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "wave-backdrop",
      "name": "Midnight atmosphere",
      "group": "assets",
      "category": "Static backgrounds",
      "description": "A uniform midnight color that pairs with Developer Wave.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Midnight atmosphere",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#0f1738",
          "description": "Primary color."
        }
      ]
    },
    {
      "id": "developer-wave",
      "name": "Developer wave",
      "group": "assets",
      "category": "Objects",
      "description": "A folded surface of fine peach and violet strands in continuous motion.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Developer wave",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#ffb5a4",
          "description": "Peach strand color."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#c13dff",
          "description": "Violet strand color."
        },
        {
          "key": "color3",
          "type": "string",
          "default": "#654dff",
          "description": "Blue edge color."
        },
        {
          "key": "intensity",
          "type": "number",
          "default": 0.65,
          "description": "Wave height.",
          "suggestedRange": [
            0,
            1.5
          ]
        },
        {
          "key": "spread",
          "type": "number",
          "default": 0.7,
          "description": "Fan spread.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1,
          "description": "Strand width multiplier.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 0.8,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "platform-glow",
      "name": "Platform glow",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "A procedural color wash with grain and soft diagonal streaks.",
      "notes": [
        "This asset starts with playing: false and speed: 0.35. To animate it, set playing: true and call art.play() if the instance is paused."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Platform glow",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#b398fc",
          "description": "Cool color."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#ff91d9",
          "description": "Middle color."
        },
        {
          "key": "color3",
          "type": "string",
          "default": "#ffae12",
          "description": "Warm color."
        },
        {
          "key": "spread",
          "type": "number",
          "default": 0.5,
          "description": "Balance between the color regions.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "softness",
          "type": "number",
          "default": 0.55,
          "description": "Softness of streaks or color transitions.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "streaks",
          "type": "number",
          "default": 0.48,
          "description": "Strength of the directional texture streaks.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "grain",
          "type": "number",
          "default": 0.22,
          "description": "Surface grain strength.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "angle",
          "type": "number",
          "default": 0,
          "description": "Direction of the texture streaks, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "seed",
          "type": "number",
          "default": 1,
          "description": "Variation seed for the procedural texture or geometry.",
          "suggestedRange": [
            1,
            100
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": false,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 0.35,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "solid",
      "name": "Solid color",
      "group": "assets",
      "category": "Static backgrounds",
      "description": "A single color filling the container.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Solid color",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#080e20",
          "description": "Primary color."
        }
      ]
    },
    {
      "id": "gradient",
      "name": "Soft gradient",
      "group": "assets",
      "category": "Static backgrounds",
      "description": "A soft two-color gradient filling the container.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Soft gradient",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#171c42",
          "description": "Primary color."
        },
        {
          "key": "color2",
          "type": "string",
          "default": "#674985",
          "description": "Second color."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        }
      ]
    },
    {
      "id": "nebula",
      "name": "Nebula",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "A slowly moving cloud of colored atmospheric light.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Nebula",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#729ee6",
          "description": "Primary color."
        },
        {
          "key": "intensity",
          "type": "number",
          "default": 0.65,
          "description": "Cloud intensity.",
          "suggestedRange": [
            0,
            1.5
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "stars",
      "name": "Star field",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "A sparse field of twinkling stars with a transparent surround.",
      "notes": [
        "The star field has transparent space between points; place it over your own background or another layer."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Star field",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#b5ccff",
          "description": "Primary color."
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1.2,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "stats-glow",
      "name": "Blue horizon",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "The blue horizon behind Global Flow, with daytime and nighttime palettes.",
      "notes": [
        "Although grouped with animated backgrounds in Studio, Blue Horizon has no time-driven motion of its own. Speed changes do not animate this layer."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Blue horizon",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        }
      ]
    },
    {
      "id": "stats",
      "name": "Global flow",
      "group": "assets",
      "category": "Objects",
      "description": "Responsive filaments form radial rays, globe arcs, a helix or pinched streams.",
      "notes": [
        "Pointer movement affects the endpoints. Pointer response can continue while timeline playback is paused. The standalone default is burst; choose cycle to transition through all four forms."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Global flow",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "formation",
          "type": "enum",
          "default": "burst",
          "description": "Choose one structure, or cycle through all four structures.",
          "values": [
            "cycle",
            "burst",
            "globe",
            "helix",
            "stream"
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "filament-atmosphere",
      "name": "Teal atmosphere",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "A drifting teal atmosphere for filament sculptures.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Teal atmosphere",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "mesh",
      "name": "Color in flow",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "Broad overlapping color fields form a moving mesh gradient.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Color in flow",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "aurora",
      "name": "Northern light",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "Layered curtains of light move across a dark sky.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Northern light",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "orbs",
      "name": "Soft spheres",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "Soft luminous color fields drift across the background.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Soft spheres",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "liquid",
      "name": "Liquid spectrum",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "A flowing liquid-like color surface.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Liquid spectrum",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "grain",
      "name": "Afterglow",
      "group": "assets",
      "category": "Animated backgrounds",
      "description": "An amber horizon and plum shadows drift beneath fine stationary grain.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Afterglow",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "text",
      "name": "Particle text",
      "group": "assets",
      "category": "Objects",
      "description": "Text rendered as a cloud of luminous particles.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Particle text",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "content",
          "type": "string",
          "default": "6",
          "description": "Text or symbol. Up to 48 Unicode characters and 3 lines; excess content is trimmed."
        },
        {
          "key": "font",
          "type": "enum",
          "default": "sans",
          "description": "Typeface family used to construct the glyphs.",
          "values": [
            "sans",
            "serif",
            "mono"
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#94bcff",
          "description": "Primary color."
        },
        {
          "key": "density",
          "type": "number",
          "default": 8000,
          "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
          "suggestedRange": [
            2000,
            16000
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1.2,
          "description": "Width or size multiplier of rendered strands or particles.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1.2,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "scatter",
          "type": "number",
          "default": 0.04,
          "description": "Particle scatter strength.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "motion",
          "type": "enum",
          "default": "drift",
          "description": "Particle movement style.",
          "values": [
            "drift",
            "pulse",
            "assemble"
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "symbol",
      "name": "Particle symbol",
      "group": "assets",
      "category": "Objects",
      "description": "A symbol or short text rendered as luminous particles.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Particle symbol",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "content",
          "type": "string",
          "default": "✳",
          "description": "Text or symbol. Up to 48 Unicode characters and 3 lines; excess content is trimmed."
        },
        {
          "key": "font",
          "type": "enum",
          "default": "sans",
          "description": "Typeface family used to construct the glyphs.",
          "values": [
            "sans",
            "serif",
            "mono"
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#a9cfff",
          "description": "Primary color."
        },
        {
          "key": "density",
          "type": "number",
          "default": 8000,
          "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
          "suggestedRange": [
            2000,
            16000
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1.2,
          "description": "Width or size multiplier of rendered strands or particles.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1.2,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "scatter",
          "type": "number",
          "default": 0.04,
          "description": "Particle scatter strength.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "motion",
          "type": "enum",
          "default": "drift",
          "description": "Particle movement style.",
          "values": [
            "drift",
            "pulse",
            "assemble"
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "sphere",
      "name": "Dot sphere",
      "group": "assets",
      "category": "Objects",
      "description": "A spherical cloud of luminous dots.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Dot sphere",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#a9cfff",
          "description": "Primary color."
        },
        {
          "key": "density",
          "type": "number",
          "default": 8000,
          "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
          "suggestedRange": [
            2000,
            16000
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1.2,
          "description": "Width or size multiplier of rendered strands or particles.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1.2,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "scatter",
          "type": "number",
          "default": 0.04,
          "description": "Particle scatter strength.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "motion",
          "type": "enum",
          "default": "drift",
          "description": "Particle movement style.",
          "values": [
            "drift",
            "pulse",
            "assemble"
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "ring",
      "name": "Dot ring",
      "group": "assets",
      "category": "Objects",
      "description": "A circular cloud of luminous dots.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Dot ring",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#a9cfff",
          "description": "Primary color."
        },
        {
          "key": "density",
          "type": "number",
          "default": 8000,
          "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
          "suggestedRange": [
            2000,
            16000
          ]
        },
        {
          "key": "size",
          "type": "number",
          "default": 1.2,
          "description": "Width or size multiplier of rendered strands or particles.",
          "suggestedRange": [
            0.4,
            2
          ]
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1.2,
          "description": "Glow or highlight strength.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "scatter",
          "type": "number",
          "default": 0.04,
          "description": "Particle scatter strength.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "motion",
          "type": "enum",
          "default": "drift",
          "description": "Particle movement style.",
          "values": [
            "drift",
            "pulse",
            "assemble"
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "silk",
      "name": "Folded silk",
      "group": "assets",
      "category": "Objects",
      "description": "A broad silk fan curls into a rounded fold and narrow stem.",
      "notes": [
        "This is the folded silk used by the Chromatic Silk mix. The separate ribbon asset is the original ribbon study. Edit the colors array, not color / color2 / color3."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Folded silk",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "colors",
          "type": "string[]",
          "default": [
            "#e7f4ff",
            "#b8b8ff",
            "#d88ce9",
            "#ffb900",
            "#ff8409",
            "#ff8c79",
            "#f68be9",
            "#8074ef"
          ],
          "description": "Eight ordered hex colors across the silk surface. Use eight identical values for a single-color surface. Missing or invalid entries fall back to the original palette."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "ribbon",
      "name": "Chromatic silk",
      "group": "assets",
      "category": "Objects",
      "description": "The original chromatic ribbon study, with an alternate palette.",
      "notes": [
        "This standalone asset is the original ribbon study. The Chromatic Silk mix (mixes/ribbon.js) instead combines a solid background with the newer silk asset."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Chromatic silk",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "orbital-silk",
      "name": "Orbital silk",
      "group": "assets",
      "category": "Objects",
      "description": "A continuous silk surface curves around an open center.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Orbital silk",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "colors",
          "type": "string[]",
          "default": [
            "#e7f4ff",
            "#b8b8ff",
            "#d88ce9",
            "#ffb900",
            "#ff8409",
            "#ff8c79",
            "#f68be9",
            "#8074ef"
          ],
          "description": "Eight ordered hex colors across the silk surface. Use eight identical values for a single-color surface. Missing or invalid entries fall back to the original palette."
        },
        {
          "key": "glow",
          "type": "number",
          "default": 1.2,
          "description": "Silk sheen.",
          "suggestedRange": [
            0,
            2
          ]
        },
        {
          "key": "grain",
          "type": "number",
          "default": 0.35,
          "description": "Surface grain.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "intensity",
          "type": "number",
          "default": 0.65,
          "description": "Surface motion strength.",
          "suggestedRange": [
            0,
            1.5
          ]
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "orbital",
      "name": "Orbital lens",
      "group": "assets",
      "category": "Objects",
      "description": "Fine orbital filaments carry drifting points of light.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Orbital lens",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "infinity-loom",
      "name": "Infinity Loom",
      "group": "assets",
      "category": "Objects",
      "description": "A woven figure-eight form with traveling light.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Infinity Loom",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "resonance-shell",
      "name": "Resonance Shell",
      "group": "assets",
      "category": "Objects",
      "description": "A spiral shell of luminous contours with a breathing rhythm.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Resonance Shell",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "gravity-bloom",
      "name": "Gravity Bloom",
      "group": "assets",
      "category": "Objects",
      "description": "Luminous filament petals open around a central seed.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Gravity Bloom",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "tidal-fold",
      "name": "Tidal Fold",
      "group": "assets",
      "category": "Objects",
      "description": "Parallel strands form a curled wave with traveling deformation.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Tidal Fold",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "terrain",
      "name": "Contour terrain",
      "group": "assets",
      "category": "Objects",
      "description": "A gently changing landscape drawn with fine contour lines.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Contour terrain",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "signals",
      "name": "Connected network",
      "group": "assets",
      "category": "Objects",
      "description": "A network of routes and nodes with traveling pulses.",
      "notes": [
        "Node labels and route geometry are authored into this asset. content and font do not edit this network."
      ],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Connected network",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "palette",
          "type": "enum",
          "default": 0,
          "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
          "values": [
            0,
            1
          ]
        },
        {
          "key": "paletteColors",
          "type": "string[] | null",
          "default": null,
          "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    },
    {
      "id": "torus",
      "name": "Satin knot",
      "group": "assets",
      "category": "Objects",
      "description": "A slowly rotating, softly lit satin knot.",
      "notes": [],
      "settings": [
        {
          "key": "name",
          "type": "string",
          "default": "Satin knot",
          "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
        },
        {
          "key": "visible",
          "type": "boolean",
          "default": true,
          "description": "Show or hide this layer."
        },
        {
          "key": "opacity",
          "type": "number",
          "default": 1,
          "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
          "suggestedRange": [
            0,
            1
          ]
        },
        {
          "key": "color",
          "type": "string",
          "default": "#a2a4ed",
          "description": "Primary color."
        },
        {
          "key": "x",
          "type": "number",
          "default": 0,
          "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -12,
            12
          ]
        },
        {
          "key": "y",
          "type": "number",
          "default": 0,
          "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "z",
          "type": "number",
          "default": 0,
          "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
          "suggestedRange": [
            -8,
            8
          ]
        },
        {
          "key": "rx",
          "type": "number",
          "default": 0,
          "description": "Tilt around the X axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "ry",
          "type": "number",
          "default": 0,
          "description": "Tilt around the Y axis, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "rotation",
          "type": "number",
          "default": 0,
          "description": "Rotation in the canvas plane, in degrees.",
          "suggestedRange": [
            -180,
            180
          ]
        },
        {
          "key": "scale",
          "type": "number",
          "default": 1,
          "description": "Uniform scale multiplier. 1 is the authored size.",
          "suggestedRange": [
            0.1,
            3
          ]
        },
        {
          "key": "mobile",
          "type": "object",
          "default": {},
          "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
        },
        {
          "key": "playing",
          "type": "boolean",
          "default": true,
          "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
        },
        {
          "key": "speed",
          "type": "number",
          "default": 1,
          "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
          "suggestedRange": [
            0,
            3
          ]
        }
      ]
    }
  ],
  "mixes": [
    {
      "id": "ai-workspace",
      "name": "AI Workspace",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "AI & SaaS · A little room to think",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "globe-backdrop",
          "name": "Pearl atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Pearl atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#ffffff",
              "description": "Sky color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#f0eafa",
              "description": "Horizon color."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "agentic-ring",
          "name": "Agentic ring",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Agentic ring",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#f0449c",
              "description": "Upper particles."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#bd56e9",
              "description": "Lower particles."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#ee9ad5",
              "description": "Halo tint."
            },
            {
              "key": "density",
              "type": "number",
              "default": 10000,
              "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
              "suggestedRange": [
                2000,
                16000
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1,
              "description": "Width or size multiplier of rendered strands or particles.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "scatter",
              "type": "number",
              "default": 0.55,
              "description": "Particle scatter strength.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.7,
              "description": "Ripple strength.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 3.35,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": -0.1,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.83,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {
                "x": -3.35,
                "y": -1.8,
                "scale": 0.75
              },
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 0.4,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "developer-launch",
      "name": "Developer Launch",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Developer tools · Built for what comes next",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "wave-backdrop",
          "name": "Midnight atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Midnight atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#0f1738",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "developer-wave",
          "name": "Developer wave",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Developer wave",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#ffb5a4",
              "description": "Peach strand color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#c13dff",
              "description": "Violet strand color."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#654dff",
              "description": "Blue edge color."
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.65,
              "description": "Wave height.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "spread",
              "type": "number",
              "default": 0.7,
              "description": "Fan spread.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1,
              "description": "Strand width multiplier.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 0.65,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": -2.65,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.85,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {
                "y": 0.3,
                "scale": 1.3
              },
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 0.45,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "creative-flow",
      "name": "Creative Flow",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Creative & design · Follow your own current",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Solid color",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Solid color",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#fcfaf7",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "platform-glow",
          "name": "Platform glow",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Platform glow",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.13,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b398fc",
              "description": "Cool color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#ff91d9",
              "description": "Middle color."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#ffae12",
              "description": "Warm color."
            },
            {
              "key": "spread",
              "type": "number",
              "default": 0.5,
              "description": "Balance between the color regions.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "softness",
              "type": "number",
              "default": 0.55,
              "description": "Softness of streaks or color transitions.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "streaks",
              "type": "number",
              "default": 0.2,
              "description": "Strength of the directional texture streaks.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "grain",
              "type": "number",
              "default": 0.1,
              "description": "Surface grain strength.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "angle",
              "type": "number",
              "default": 0,
              "description": "Direction of the texture streaks, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "seed",
              "type": "number",
              "default": 1,
              "description": "Variation seed for the procedural texture or geometry.",
              "suggestedRange": [
                1,
                100
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": false,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 0.35,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "silk",
          "name": "Folded silk",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Folded silk",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "colors",
              "type": "string[]",
              "default": [
                "#e7f4ff",
                "#b8b8ff",
                "#d88ce9",
                "#ffb900",
                "#ff8409",
                "#ff8c79",
                "#f68be9",
                "#8074ef"
              ],
              "description": "Eight ordered hex colors across the silk surface. Use eight identical values for a single-color surface. Missing or invalid entries fall back to the original palette."
            },
            {
              "key": "x",
              "type": "number",
              "default": 2.4,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": -0.3,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.72,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {
                "x": 0.4,
                "y": -2,
                "scale": 1.2,
                "rotation": -65
              },
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 0.35,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "quiet-intelligence",
      "name": "Quiet Intelligence",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Research & enterprise · A clearer perspective",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "gradient",
          "name": "Soft gradient",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Soft gradient",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#101f22",
              "description": "Primary color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#233b3d",
              "description": "Second color."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "terrain",
          "name": "Contour terrain",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Contour terrain",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.6,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 1,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 1,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": -6,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1.35,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {
                "x": -1,
                "y": 0.3,
                "scale": 0.8
              },
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 0.3,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "orbital-silk",
      "name": "Orbital silk",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Orbital lens reimagined in Chromatic Silk: a continuous curved silk surface with an open center, with lavender, rose and gold color flow, fine fibers and gentle motion. Edit eight colors, sheen, grain and motion independently from the backdrop.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Pearl backdrop",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Pearl backdrop",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#fdfdfb",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "orbital-silk",
          "name": "Orbital silk",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Orbital silk",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "colors",
              "type": "string[]",
              "default": [
                "#e7f4ff",
                "#b8b8ff",
                "#d88ce9",
                "#ffb900",
                "#ff8409",
                "#ff8c79",
                "#f68be9",
                "#8074ef"
              ],
              "description": "Eight ordered hex colors across the silk surface. Use eight identical values for a single-color surface. Missing or invalid entries fall back to the original palette."
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Silk sheen.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "grain",
              "type": "number",
              "default": 0.35,
              "description": "Surface grain.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.65,
              "description": "Surface motion strength.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1.4,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {
                "scale": 0.75
              },
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "lightspeed",
      "name": "Lightspeed",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "An original study inspired by the public Shaders Lightspeed previews. Prismatic streaks accelerate out of a dark vanishing point, with Spectrum, Warp, and Prism looks.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Deep space",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Deep space",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#010008",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "lightspeed",
          "name": "Lightspeed",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Lightspeed",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "colorMode",
              "type": "enum",
              "default": "spectrum",
              "description": "Use the authored spectrum or the three custom trail colors.",
              "values": [
                "spectrum",
                "custom"
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#ff4325",
              "description": "Trail tail color; used in custom color mode."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#ffe56b",
              "description": "Trail middle color; used in custom color mode."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#12bfff",
              "description": "Trail head color; used in custom color mode."
            },
            {
              "key": "streakCount",
              "type": "number",
              "default": 160,
              "description": "Number of light streaks. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
              "suggestedRange": [
                16,
                600
              ]
            },
            {
              "key": "trail",
              "type": "number",
              "default": 1.7,
              "description": "Length of the light trails.",
              "suggestedRange": [
                0.2,
                5
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1,
              "description": "Width or size multiplier of rendered strands or particles.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "softness",
              "type": "number",
              "default": 0.32,
              "description": "Softness of streaks or color transitions.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 0.65,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "spread",
              "type": "number",
              "default": 0.45,
              "description": "Tunnel spread.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "seed",
              "type": "number",
              "default": 17,
              "description": "Variation seed for the procedural texture or geometry.",
              "suggestedRange": [
                1,
                100
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "neon-wave",
      "name": "Neon wave",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Cyan, violet, and blue translucent waves rise and settle over a black horizon, with luminous edges and a soft reflection. Recreated procedurally from the supplied video.",
      "aspect": 1.3333333333333333,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Black backdrop",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Black backdrop",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#000000",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "neon-wave",
          "name": "Neon wave",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Neon wave",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#00efcf",
              "description": "Cyan ribbon color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#a600ff",
              "description": "Magenta ribbon color."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#133fff",
              "description": "Blue ribbon color."
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.8,
              "description": "Wave height.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "spread",
              "type": "number",
              "default": 0.65,
              "description": "Wave spread.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "reflection",
              "type": "number",
              "default": 0.28,
              "description": "Strength of the reflected ribbons.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "agentic-text",
      "name": "Agentic text",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Type words, numbers, or symbols in the pink-and-violet Agentic style. Particles ripple and drift along each glyph’s outline with a soft halo.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "White backdrop",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "White backdrop",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#ffffff",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "agentic-text",
          "name": "Agentic text",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Agentic text",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "content",
              "type": "string",
              "default": "6.1",
              "description": "Text or symbol. Up to 48 Unicode characters and 3 lines; excess content is trimmed."
            },
            {
              "key": "font",
              "type": "enum",
              "default": "sans",
              "description": "Typeface family used to construct the glyphs.",
              "values": [
                "sans",
                "serif",
                "mono"
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#f0449c",
              "description": "Upper particles."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#bd56e9",
              "description": "Lower particles."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#ee9ad5",
              "description": "Halo tint."
            },
            {
              "key": "density",
              "type": "number",
              "default": 12000,
              "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
              "suggestedRange": [
                2000,
                16000
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1.1,
              "description": "Width or size multiplier of rendered strands or particles.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "scatter",
              "type": "number",
              "default": 0.35,
              "description": "Particle scatter strength.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.7,
              "description": "Ripple strength.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "agentic-ring",
      "name": "Agentic ring",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "A live Three.js study of Stripe’s agentic-commerce ring. A clockwise opening sweep settles into soft particle motion. Hover near the edge to gather particles toward the circle.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "White backdrop",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "White backdrop",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#ffffff",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "agentic-ring",
          "name": "Agentic ring",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Agentic ring",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#f0449c",
              "description": "Upper particles."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#bd56e9",
              "description": "Lower particles."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#ee9ad5",
              "description": "Halo tint."
            },
            {
              "key": "density",
              "type": "number",
              "default": 10000,
              "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
              "suggestedRange": [
                2000,
                16000
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1,
              "description": "Width or size multiplier of rendered strands or particles.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "scatter",
              "type": "number",
              "default": 0.55,
              "description": "Particle scatter strength.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.7,
              "description": "Ripple strength.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "crypto-globe",
      "name": "Crypto globe",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "A Three.js study of the globe in Stripe’s stablecoin and crypto card, with violet, pink, and coral dots, glowing endpoints, and great-circle transfers.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "globe-backdrop",
          "name": "Pearl atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Pearl atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#ffffff",
              "description": "Sky color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#e4e5ff",
              "description": "Horizon color."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "crypto-globe",
          "name": "Crypto globe",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Crypto globe",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#7864ff",
              "description": "Violet dot color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#f768ef",
              "description": "Pink dot color."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#ff9176",
              "description": "Coral dot color."
            },
            {
              "key": "size",
              "type": "number",
              "default": 1,
              "description": "Dot size multiplier.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1,
              "description": "Endpoint glow strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "scatter",
              "type": "number",
              "default": 0.14,
              "description": "Edge scatter.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.65,
              "description": "Arc height.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": -1.5,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1.45,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "midnight-signal",
      "name": "Midnight signal",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Nebula, stars & particle type",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Solid color",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Solid color",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#080e20",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "nebula",
          "name": "Nebula",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Nebula",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.8,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#729ee6",
              "description": "Primary color."
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.65,
              "description": "Cloud intensity.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "stars",
          "name": "Star field",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Star field",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b5ccff",
              "description": "Primary color."
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 3,
          "asset": "text",
          "name": "Particle text",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Particle text",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "content",
              "type": "string",
              "default": "6.1",
              "description": "Text or symbol. Up to 48 Unicode characters and 3 lines; excess content is trimmed."
            },
            {
              "key": "font",
              "type": "enum",
              "default": "sans",
              "description": "Typeface family used to construct the glyphs.",
              "values": [
                "sans",
                "serif",
                "mono"
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#94bcff",
              "description": "Primary color."
            },
            {
              "key": "density",
              "type": "number",
              "default": 8000,
              "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
              "suggestedRange": [
                2000,
                16000
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1.2,
              "description": "Width or size multiplier of rendered strands or particles.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "scatter",
              "type": "number",
              "default": 0.04,
              "description": "Particle scatter strength.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "motion",
              "type": "enum",
              "default": "drift",
              "description": "Particle movement style.",
              "values": [
                "drift",
                "pulse",
                "assemble"
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.85,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "northern-orbit",
      "name": "Northern orbit",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Aurora & orbital filaments",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Solid color",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Solid color",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#080e20",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "aurora",
          "name": "Northern light",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Northern light",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "orbital",
          "name": "Orbital lens",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Orbital lens",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.9,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "platform-glow",
      "name": "Platform glow",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "A customizable study of the supplied Stripe platform background, with diagonal fibers and soft color transitions.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "platform-glow",
          "name": "Platform glow",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Platform glow",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b398fc",
              "description": "Cool color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#ff91d9",
              "description": "Middle color."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#ffae12",
              "description": "Warm color."
            },
            {
              "key": "spread",
              "type": "number",
              "default": 0.5,
              "description": "Balance between the color regions.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "softness",
              "type": "number",
              "default": 0.55,
              "description": "Softness of streaks or color transitions.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "streaks",
              "type": "number",
              "default": 0.48,
              "description": "Strength of the directional texture streaks.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "grain",
              "type": "number",
              "default": 0.22,
              "description": "Surface grain strength.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "angle",
              "type": "number",
              "default": 0,
              "description": "Direction of the texture streaks, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "seed",
              "type": "number",
              "default": 1,
              "description": "Variation seed for the procedural texture or geometry.",
              "suggestedRange": [
                1,
                100
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": false,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 0.35,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "neon-transit",
      "name": "Neon transit",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "A connected, transparent neon object with blue, cyan, magenta and red trails, recreated from the supplied concept art.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Black backdrop",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Black backdrop",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#000000",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "neon-transit",
          "name": "Neon transit",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Neon transit",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#1000ff",
              "description": "Upper ribbons."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#ff0800",
              "description": "Lower ribbons."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#ff00ce",
              "description": "Middle ribbons."
            },
            {
              "key": "color4",
              "type": "string",
              "default": "#00dcff",
              "description": "Cyan rails."
            },
            {
              "key": "trailLength",
              "type": "number",
              "default": 3,
              "description": "Extent of the neon trails beyond the join.",
              "suggestedRange": [
                1,
                8
              ]
            },
            {
              "key": "spread",
              "type": "number",
              "default": 0.56,
              "description": "Fan spread.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "joinWidth",
              "type": "number",
              "default": 0.022,
              "description": "Width of the central join.",
              "suggestedRange": [
                0.003,
                0.08
              ]
            },
            {
              "key": "centerGap",
              "type": "number",
              "default": 0,
              "description": "Fade around the center join.",
              "suggestedRange": [
                0,
                0.65
              ]
            },
            {
              "key": "curvature",
              "type": "number",
              "default": 2.55,
              "description": "Curvature of the neon trails.",
              "suggestedRange": [
                1,
                4
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1,
              "description": "Trail width multiplier.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.7,
              "description": "Traveling light strength.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "developer-wave",
      "name": "Developer wave",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "A live Three.js reconstruction of Stripe’s developer-section wave: a folded surface carries fine peach and violet stripes through a slow, flowing deformation. Customize the colors, height, spread, glow, and motion in Studio.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "wave-backdrop",
          "name": "Midnight atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Midnight atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#0f1738",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "developer-wave",
          "name": "Developer wave",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Developer wave",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#ffb5a4",
              "description": "Peach strand color."
            },
            {
              "key": "color2",
              "type": "string",
              "default": "#c13dff",
              "description": "Violet strand color."
            },
            {
              "key": "color3",
              "type": "string",
              "default": "#654dff",
              "description": "Blue edge color."
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.65,
              "description": "Wave height.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "spread",
              "type": "number",
              "default": 0.7,
              "description": "Fan spread.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1,
              "description": "Strand width multiplier.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 0.8,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "stats",
      "name": "Global flow",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Four live Three.js structures with their own motion: shimmering radial rays, growing globe arcs, a pulsing helix, and flowing pinched curves. Hover to move their endpoints. Choose a formation or cycle through all four, with daytime and nighttime palettes.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "stats-glow",
          "name": "Blue horizon",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Blue horizon",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "stats",
          "name": "Global flow",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Global flow",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "formation",
              "type": "enum",
              "default": "burst",
              "description": "Choose one structure, or cycle through all four structures.",
              "values": [
                "cycle",
                "burst",
                "globe",
                "helix",
                "stream"
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "ribbon",
      "name": "Chromatic silk",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "A broad silk fan curls around a gold fold into a narrow stem. Two connected faces flex together under continuous noise motion, with fine surface fibers and soft grain. Reconstructed from measured Stripe reference geometry and a sampled color map; eight editable colors and a separate backdrop remain available.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Solid color",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Solid color",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#fdfdfb",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "silk",
          "name": "Folded silk",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Folded silk",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "colors",
              "type": "string[]",
              "default": [
                "#e7f4ff",
                "#b8b8ff",
                "#d88ce9",
                "#ffb900",
                "#ff8409",
                "#ff8c79",
                "#f68be9",
                "#8074ef"
              ],
              "description": "Eight ordered hex colors across the silk surface. Use eight identical values for a single-color surface. Missing or invalid entries fall back to the original palette."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "signals",
      "name": "Connected motion",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "A recreation of the network under Stripe’s “Connect to existing systems”: application nodes feed a central hub through labeled routes, with pulses moving across a dotted field. Adapted to a hero composition with generic endpoint marks.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Solid color",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Solid color",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#0f1738",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "signals",
          "name": "Connected network",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Connected network",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 3,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.94,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "astra",
      "name": "Particle atmosphere",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "A layered nebula and a cloud of luminous particles. Replace the 6 with text, a symbol, or a dot form. Shape, motion, light, and background are independently adjustable; the artwork itself is included in frame and video exports.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Solid color",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Solid color",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#080e20",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "nebula",
          "name": "Nebula",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Nebula",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.8,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#729ee6",
              "description": "Primary color."
            },
            {
              "key": "intensity",
              "type": "number",
              "default": 0.65,
              "description": "Cloud intensity.",
              "suggestedRange": [
                0,
                1.5
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "stars",
          "name": "Star field",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Star field",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b5ccff",
              "description": "Primary color."
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 3,
          "asset": "text",
          "name": "Particle text",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Particle text",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "content",
              "type": "string",
              "default": "6",
              "description": "Text or symbol. Up to 48 Unicode characters and 3 lines; excess content is trimmed."
            },
            {
              "key": "font",
              "type": "enum",
              "default": "sans",
              "description": "Typeface family used to construct the glyphs.",
              "values": [
                "sans",
                "serif",
                "mono"
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#94bcff",
              "description": "Primary color."
            },
            {
              "key": "density",
              "type": "number",
              "default": 8000,
              "description": "Particle count. Counts are rounded to nonnegative whole numbers; larger counts increase GPU work.",
              "suggestedRange": [
                2000,
                16000
              ]
            },
            {
              "key": "size",
              "type": "number",
              "default": 1.2,
              "description": "Width or size multiplier of rendered strands or particles.",
              "suggestedRange": [
                0.4,
                2
              ]
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "scatter",
              "type": "number",
              "default": 0.04,
              "description": "Particle scatter strength.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "motion",
              "type": "enum",
              "default": "drift",
              "description": "Particle movement style.",
              "values": [
                "drift",
                "pulse",
                "assemble"
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "orbital",
      "name": "Orbital lens",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "An AI-generated keyframe translated into 36 parametric filaments, a hollow orbital form, drifting lights, and a teal atmosphere. Switch to Concept frame to compare the art direction with the live reconstruction.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "filament-atmosphere",
          "name": "Teal atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Teal atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "stars",
          "name": "Star field",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Star field",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.45,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b5ccff",
              "description": "Primary color."
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "orbital",
          "name": "Orbital lens",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Orbital lens",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 2.5,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1.15,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "terrain",
      "name": "Quiet topography",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "One hundred contours reveal a slowly breathing landscape. Copper light and restrained movement give depth to a simple grid, with enough negative space for the message to remain the focus.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "solid",
          "name": "Solid color",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Solid color",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#171619",
              "description": "Primary color."
            }
          ]
        },
        {
          "index": 1,
          "asset": "terrain",
          "name": "Contour terrain",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Contour terrain",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 3.5,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": -0.5,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1.43,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "mesh",
      "name": "Color in flow",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Broad pools of lavender, coral, and butter yellow drift through a softly warped mesh. An open, warm foreground gives the headline room to breathe.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "mesh",
          "name": "Color in flow",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Color in flow",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "aurora",
      "name": "Northern light",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Layered curtains of mint and violet bend across a midnight sky. Each band travels at a different pace, producing a luminous, unhurried rhythm.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "aurora",
          "name": "Northern light",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Northern light",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "orbs",
      "name": "Soft spheres",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Three large, softly lit color orbs float independently through a pale atmosphere. Soft edges and overlapping light make a quiet composition with a clear sense of depth.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "orbs",
          "name": "Soft spheres",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Soft spheres",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "liquid",
      "name": "Liquid spectrum",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Smooth, folded color contours travel through a warped flow field. Electric blue, lilac, and peach collect along liquid boundaries while the headline rests in a deep ink pocket.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "liquid",
          "name": "Liquid spectrum",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Liquid spectrum",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "grain",
      "name": "Afterglow",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "An amber horizon meets a drifting plum shadow and a soft rose glow. Fine, stationary grain gives the moving color a tactile, printed quality without flickering.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "grain",
          "name": "Afterglow",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Afterglow",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "infinity-loom",
      "name": "Infinity Loom",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Fine threads follow a three-dimensional figure eight, passing above and below one another. Light travels around the weave as the whole form slowly rocks in space.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "filament-atmosphere",
          "name": "Teal atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Teal atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "stars",
          "name": "Star field",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Star field",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.35,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b5ccff",
              "description": "Primary color."
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "infinity-loom",
          "name": "Infinity Loom",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Infinity Loom",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 3,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.88,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "resonance-shell",
      "name": "Resonance Shell",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Sixty-eight contours grow along a logarithmic spiral. Their open shell catches warm light on the near edge and cool light within, with a subtle breathing rhythm.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "filament-atmosphere",
          "name": "Teal atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Teal atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "stars",
          "name": "Star field",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Star field",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.35,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b5ccff",
              "description": "Primary color."
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "resonance-shell",
          "name": "Resonance Shell",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Resonance Shell",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 3,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.88,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "gravity-bloom",
      "name": "Gravity Bloom",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Five hollow filament petals move independently around a luminous seed. Each petal gently opens, turns, and settles while pulses travel from the center toward its tip.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "filament-atmosphere",
          "name": "Teal atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Teal atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "stars",
          "name": "Star field",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Star field",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.35,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b5ccff",
              "description": "Primary color."
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "gravity-bloom",
          "name": "Gravity Bloom",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Gravity Bloom",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 3,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.88,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "tidal-fold",
      "name": "Tidal Fold",
      "group": "mixes",
      "category": "Complete mixes",
      "description": "Eighty-eight parallel strands follow a curled ribbon, with a traveling deformation that lifts its crest and draws light along the fold. The open ends remain soft and weightless.",
      "aspect": 1.7777777777777777,
      "layers": [
        {
          "index": 0,
          "asset": "filament-atmosphere",
          "name": "Teal atmosphere",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Teal atmosphere",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 1,
          "asset": "stars",
          "name": "Star field",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Star field",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 0.35,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "color",
              "type": "string",
              "default": "#b5ccff",
              "description": "Primary color."
            },
            {
              "key": "glow",
              "type": "number",
              "default": 1.2,
              "description": "Glow or highlight strength.",
              "suggestedRange": [
                0,
                2
              ]
            },
            {
              "key": "x",
              "type": "number",
              "default": 0,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 1,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        },
        {
          "index": 2,
          "asset": "tidal-fold",
          "name": "Tidal Fold",
          "settings": [
            {
              "key": "name",
              "type": "string",
              "default": "Tidal Fold",
              "description": "A label for this layer in the scene snapshot; it does not draw page text. Up to 60 Unicode characters; excess content is trimmed."
            },
            {
              "key": "visible",
              "type": "boolean",
              "default": true,
              "description": "Show or hide this layer."
            },
            {
              "key": "opacity",
              "type": "number",
              "default": 1,
              "description": "Layer opacity. 0 is transparent; 1 is fully opaque.",
              "suggestedRange": [
                0,
                1
              ]
            },
            {
              "key": "palette",
              "type": "enum",
              "default": 0,
              "description": "Authored palette: 0 is original and 1 is alternate. For Global Flow and Blue Horizon, 0 is daytime and 1 is nighttime.",
              "values": [
                0,
                1
              ]
            },
            {
              "key": "paletteColors",
              "type": "string[] | null",
              "default": null,
              "description": "Three hex colors that remap authored hues while retaining shading. null restores the authored palette. Set after palette, or include both in the same patch: setting palette alone clears this override."
            },
            {
              "key": "x",
              "type": "number",
              "default": 3,
              "description": "Horizontal placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -12,
                12
              ]
            },
            {
              "key": "y",
              "type": "number",
              "default": 0,
              "description": "Vertical placement. For objects, scene units; for backgrounds, pattern offset.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "z",
              "type": "number",
              "default": 0,
              "description": "Depth in scene units. The camera looks toward the scene from positive Z.",
              "suggestedRange": [
                -8,
                8
              ]
            },
            {
              "key": "rx",
              "type": "number",
              "default": 0,
              "description": "Tilt around the X axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "ry",
              "type": "number",
              "default": 0,
              "description": "Tilt around the Y axis, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "rotation",
              "type": "number",
              "default": 0,
              "description": "Rotation in the canvas plane, in degrees.",
              "suggestedRange": [
                -180,
                180
              ]
            },
            {
              "key": "scale",
              "type": "number",
              "default": 0.88,
              "description": "Uniform scale multiplier. 1 is the authored size.",
              "suggestedRange": [
                0.1,
                3
              ]
            },
            {
              "key": "mobile",
              "type": "object",
              "default": {},
              "description": "Portrait overrides when container width / height < 1. x, y and rotation add to the base transform; scale multiplies it. Example: {x: 0, y: -1, scale: 0.8, rotation: 0}."
            },
            {
              "key": "playing",
              "type": "boolean",
              "default": true,
              "description": "Whether this layer advances when the instance is playing. art.play() does not override a layer set to false."
            },
            {
              "key": "speed",
              "type": "number",
              "default": 1,
              "description": "Timeline multiplier: 1 is normal, 0 freezes time, negative values rewind. Introductory effects may stop at the start of their timeline.",
              "suggestedRange": [
                0,
                3
              ]
            }
          ]
        }
      ]
    }
  ]
}