{
  "size": [
    1920,
    1080
  ],
  "fps": 30,
  "scenes": [
    {
      "id": "title",
      "duration": 3,
      "elements": [
        {
          "id": "title-text",
          "type": "text",
          "text": "From prompt to dashboard",
          "x": 960,
          "y": 480,
          "fontSize": 112,
          "fontWeight": 700,
          "keyframes": [
            {
              "t": 0,
              "opacity": 0,
              "y": 520
            },
            {
              "t": 0.8,
              "opacity": 1,
              "y": 480,
              "ease": "outCubic"
            }
          ],
          "role": "title"
        },
        {
          "id": "title-sub",
          "type": "text",
          "text": "Any agent. Offline. Open source.",
          "x": 960,
          "y": 610,
          "fontSize": 48,
          "fontWeight": 500,
          "keyframes": [
            {
              "t": 0.5,
              "opacity": 0,
              "y": 640
            },
            {
              "t": 1.2,
              "opacity": 1,
              "y": 610,
              "ease": "outCubic"
            }
          ]
        }
      ],
      "background": "art"
    },
    {
      "id": "steps",
      "duration": 4,
      "transition": "fade",
      "elements": [
        {
          "id": "steps-card-1",
          "type": "shape",
          "shape": "rect",
          "x": 340,
          "y": 540,
          "width": 440,
          "height": 200,
          "radius": 28,
          "fill": "#241a38",
          "stroke": "#ff7f61",
          "strokeWidth": 3,
          "keyframes": [
            {
              "t": 0.2,
              "opacity": 0,
              "scale": 0.9
            },
            {
              "t": 0.7,
              "opacity": 1,
              "scale": 1,
              "ease": "outCubic"
            }
          ]
        },
        {
          "id": "steps-label-1",
          "type": "text",
          "text": "1 Write the spec",
          "x": 340,
          "y": 540,
          "fontSize": 42,
          "fontWeight": 600,
          "keyframes": [
            {
              "t": 0.2,
              "opacity": 0
            },
            {
              "t": 0.7,
              "opacity": 1,
              "ease": "outCubic"
            }
          ],
          "role": "title"
        },
        {
          "id": "steps-line-1",
          "type": "shape",
          "shape": "line",
          "x": 650,
          "y": 540,
          "width": 180,
          "stroke": "#ff7f61",
          "strokeWidth": 4,
          "keyframes": [
            {
              "t": 0.8,
              "draw": 0
            },
            {
              "t": 1.3,
              "draw": 1,
              "ease": "inOutQuad"
            }
          ]
        },
        {
          "id": "steps-card-2",
          "type": "shape",
          "shape": "rect",
          "x": 960,
          "y": 540,
          "width": 440,
          "height": 200,
          "radius": 28,
          "fill": "#241a38",
          "stroke": "#ff7f61",
          "strokeWidth": 3,
          "keyframes": [
            {
              "t": 1.3,
              "opacity": 0,
              "scale": 0.9
            },
            {
              "t": 1.8,
              "opacity": 1,
              "scale": 1,
              "ease": "outCubic"
            }
          ]
        },
        {
          "id": "steps-label-2",
          "type": "text",
          "text": "2 Validate",
          "x": 960,
          "y": 540,
          "fontSize": 42,
          "fontWeight": 600,
          "keyframes": [
            {
              "t": 1.3,
              "opacity": 0
            },
            {
              "t": 1.8,
              "opacity": 1,
              "ease": "outCubic"
            }
          ]
        },
        {
          "id": "steps-line-2",
          "type": "shape",
          "shape": "line",
          "x": 1270,
          "y": 540,
          "width": 180,
          "stroke": "#ff7f61",
          "strokeWidth": 4,
          "keyframes": [
            {
              "t": 1.9,
              "draw": 0
            },
            {
              "t": 2.4,
              "draw": 1,
              "ease": "inOutQuad"
            }
          ]
        },
        {
          "id": "steps-card-3",
          "type": "shape",
          "shape": "rect",
          "x": 1580,
          "y": 540,
          "width": 440,
          "height": 200,
          "radius": 28,
          "fill": "#241a38",
          "stroke": "#ff7f61",
          "strokeWidth": 3,
          "keyframes": [
            {
              "t": 2.4,
              "opacity": 0,
              "scale": 0.9
            },
            {
              "t": 2.9,
              "opacity": 1,
              "scale": 1,
              "ease": "outCubic"
            }
          ]
        },
        {
          "id": "steps-label-3",
          "type": "text",
          "text": "3 Build",
          "x": 1580,
          "y": 540,
          "fontSize": 42,
          "fontWeight": 600,
          "keyframes": [
            {
              "t": 2.4,
              "opacity": 0
            },
            {
              "t": 2.9,
              "opacity": 1,
              "ease": "outCubic"
            }
          ]
        }
      ]
    },
    {
      "id": "errors",
      "duration": 4,
      "transition": "fade",
      "elements": [
        {
          "id": "errors-heading",
          "type": "text",
          "text": "Validate errors per attempt",
          "x": 960,
          "y": 150,
          "fontSize": 56,
          "fontWeight": 600,
          "keyframes": [
            {
              "t": 0,
              "opacity": 0
            },
            {
              "t": 0.5,
              "opacity": 1,
              "ease": "outCubic"
            }
          ],
          "role": "title"
        },
        {
          "id": "errors-chart",
          "type": "chart",
          "x": 960,
          "y": 520,
          "width": 1000,
          "height": 520,
          "vegaLite": {
            "data": {
              "values": [
                {
                  "attempt": "Attempt 1",
                  "errors": 3
                },
                {
                  "attempt": "Attempt 2",
                  "errors": 1
                },
                {
                  "attempt": "Attempt 3",
                  "errors": 0
                }
              ]
            },
            "layer": [
              {
                "mark": {
                  "type": "bar",
                  "size": 120,
                  "cornerRadiusEnd": 8,
                  "color": "#ff7f61"
                }
              },
              {
                "mark": {
                  "type": "text",
                  "dy": -24,
                  "fontSize": 36,
                  "fontWeight": 600,
                  "color": "#f7ebe0"
                },
                "encoding": {
                  "text": {
                    "field": "errors",
                    "type": "quantitative"
                  }
                }
              }
            ],
            "encoding": {
              "x": {
                "field": "attempt",
                "type": "ordinal",
                "axis": {
                  "title": null,
                  "labelAngle": 0,
                  "labelFontSize": 28
                }
              },
              "y": {
                "field": "errors",
                "type": "quantitative",
                "scale": {
                  "domain": [
                    0,
                    4
                  ]
                },
                "axis": {
                  "title": null,
                  "tickMinStep": 1,
                  "labelFontSize": 24
                }
              }
            }
          },
          "keyframes": [
            {
              "t": 0.4,
              "reveal": 0
            },
            {
              "t": 2.2,
              "reveal": 1,
              "ease": "inOutCubic"
            }
          ]
        },
        {
          "id": "errors-caption",
          "type": "text",
          "text": "Field-level errors teach the model",
          "x": 960,
          "y": 900,
          "fontSize": 52,
          "fontWeight": 500,
          "keyframes": [
            {
              "t": 2.2,
              "opacity": 0,
              "y": 925
            },
            {
              "t": 2.9,
              "opacity": 1,
              "y": 900,
              "ease": "outCubic"
            }
          ]
        }
      ]
    },
    {
      "id": "one-file",
      "duration": 4,
      "transition": "fade",
      "elements": [
        {
          "id": "file-counter",
          "type": "counter",
          "from": 0,
          "to": 1,
          "suffix": " file",
          "x": 960,
          "y": 440,
          "fontSize": 220,
          "fontWeight": 700,
          "keyframes": [
            {
              "t": 0.3,
              "value": 0
            },
            {
              "t": 1.5,
              "value": 1,
              "ease": "outCubic"
            }
          ]
        },
        {
          "id": "file-caption",
          "type": "text",
          "text": "One self-contained HTML page",
          "x": 960,
          "y": 700,
          "fontSize": 60,
          "fontWeight": 500,
          "keyframes": [
            {
              "t": 1.4,
              "opacity": 0,
              "y": 730
            },
            {
              "t": 2.2,
              "opacity": 1,
              "y": 700,
              "ease": "outCubic"
            }
          ],
          "role": "title"
        }
      ],
      "background": "art"
    }
  ],
  "audio": [
    {
      "src": "voice/title.wav",
      "scene": "title",
      "at": 0.3
    },
    {
      "src": "voice/steps.wav",
      "scene": "steps",
      "at": 0.3
    },
    {
      "src": "voice/errors.wav",
      "scene": "errors",
      "at": 0.3
    },
    {
      "src": "voice/one-file.wav",
      "scene": "one-file",
      "at": 0.3
    }
  ],
  "theme": "dusk"
}