{
  "size": [1920, 1080], "fps": 30, "background": "#0b0d12",
  "scenes": [
    { "id": "title", "duration": 2.6, "transition": "fade", "elements": [
      { "id": "title-text", "type": "text", "text": "Cache Clock", "x": 960, "y": 480, "fontSize": 120, "fontWeight": 800, "color": "#f4f6fb",
        "keyframes": [ { "t": 0.2, "opacity": 0, "y": 516 }, { "t": 0.9, "opacity": 1, "y": 480, "ease": "outCubic" } ] },
      { "id": "title-sub", "type": "text", "text": "a prompt-cache clock for GitHub Copilot CLI", "x": 960, "y": 600, "fontSize": 48, "fontWeight": 500, "color": "#9aa3b5",
        "keyframes": [ { "t": 0.6, "opacity": 0 }, { "t": 1.2, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "title-line", "type": "shape", "shape": "line", "x": 960, "y": 680, "width": 420, "strokeWidth": 4, "stroke": "#34d399",
        "keyframes": [ { "t": 1.0, "draw": 0 }, { "t": 1.7, "draw": 1, "ease": "inOutQuad" } ] }
    ] },
    { "id": "ratio", "duration": 3.2, "transition": "fade", "elements": [
      { "id": "ratio-lead", "type": "text", "text": "A cache write costs", "x": 960, "y": 300, "fontSize": 56, "fontWeight": 600, "color": "#9aa3b5",
        "keyframes": [ { "t": 0.1, "opacity": 0 }, { "t": 0.6, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "ratio-num", "type": "counter", "from": 1, "to": 25, "decimals": 0, "suffix": "×", "x": 960, "y": 500, "fontSize": 220, "fontWeight": 800, "color": "#f59e0b",
        "keyframes": [ { "t": 0.4, "opacity": 0, "value": 1 }, { "t": 0.8, "opacity": 1 }, { "t": 1.9, "value": 25, "ease": "outCubic" } ] },
      { "id": "ratio-tail", "type": "text", "text": "a cache read on Claude Sonnet 5.5", "x": 960, "y": 700, "fontSize": 56, "fontWeight": 600, "color": "#f4f6fb",
        "keyframes": [ { "t": 1.2, "opacity": 0 }, { "t": 1.7, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "ratio-luna", "type": "text", "text": "12.5× on GPT-6 Luna · billed in AI credits", "x": 960, "y": 800, "fontSize": 36, "fontWeight": 500, "color": "#9aa3b5",
        "keyframes": [ { "t": 1.9, "opacity": 0 }, { "t": 2.4, "opacity": 1, "ease": "outCubic" } ] }
    ] },
    { "id": "clock", "duration": 3.8, "transition": "fade", "elements": [
      { "id": "clock-model", "type": "text", "text": "Claude Sonnet 5.5 · ttl 5m00s · 37.2k-token context", "x": 960, "y": 280, "fontSize": 40, "fontWeight": 500, "color": "#9aa3b5",
        "keyframes": [ { "t": 0.1, "opacity": 0 }, { "t": 0.5, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "clock-count", "type": "counter", "from": 300, "to": 0, "decimals": 0, "suffix": " s left", "x": 960, "y": 450, "fontSize": 140, "fontWeight": 800, "color": "#f4f6fb", "font": "mono",
        "keyframes": [ { "t": 0.3, "value": 300 }, { "t": 2.5, "value": 0, "ease": "inQuad" } ] },
      { "id": "clock-track", "type": "shape", "shape": "line", "x": 960, "y": 590, "width": 1100, "strokeWidth": 14, "stroke": "#1f2533" },
      { "id": "clock-bar", "type": "shape", "shape": "line", "x": 960, "y": 590, "width": 1100, "strokeWidth": 14, "stroke": "#34d399",
        "keyframes": [ { "t": 0.3, "draw": 1 }, { "t": 2.5, "draw": 0, "ease": "inQuad" } ] },
      { "id": "clock-warm", "type": "text", "text": "warm  ·  next send $0.003", "x": 960, "y": 720, "fontSize": 64, "fontWeight": 700, "color": "#34d399",
        "keyframes": [ { "t": 0.4, "opacity": 0 }, { "t": 0.8, "opacity": 1, "ease": "outCubic" }, { "t": 2.4, "opacity": 1 }, { "t": 2.6, "opacity": 0 } ] },
      { "id": "clock-cold", "type": "text", "text": "cold  ·  next send $0.08", "x": 960, "y": 720, "fontSize": 64, "fontWeight": 700, "color": "#ef4444",
        "keyframes": [ { "t": 2.5, "opacity": 0, "scale": 0.9 }, { "t": 2.9, "opacity": 1, "scale": 1, "ease": "outBack" } ] },
      { "id": "clock-note", "type": "text", "text": "the whole context is rewritten at the write price", "x": 960, "y": 830, "fontSize": 36, "fontWeight": 500, "color": "#9aa3b5",
        "keyframes": [ { "t": 2.8, "opacity": 0 }, { "t": 3.2, "opacity": 1, "ease": "outCubic" } ] }
    ] },
    { "id": "refusal", "duration": 4.4, "transition": "fade", "elements": [
      { "id": "ref-head", "type": "text", "text": "Cold cache? Cache Clock asks first.", "x": 960, "y": 220, "fontSize": 60, "fontWeight": 700, "color": "#f4f6fb",
        "keyframes": [ { "t": 0.1, "opacity": 0, "y": 250 }, { "t": 0.6, "opacity": 1, "y": 220, "ease": "outCubic" } ] },
      { "id": "ref-card", "type": "shape", "shape": "rect", "x": 960, "y": 470, "width": 1720, "height": 300, "radius": 24, "fill": "#141925", "stroke": "#2a3142", "strokeWidth": 2,
        "keyframes": [ { "t": 0.4, "opacity": 0, "scale": 0.95 }, { "t": 1.0, "opacity": 1, "scale": 1, "ease": "outCubic" } ] },
      { "id": "ref-l1", "type": "text", "text": "cache-clock: the Claude Sonnet 5.5 prompt cache went cold 2s ago.", "x": 960, "y": 380, "fontSize": 38, "fontWeight": 500, "font": "mono", "color": "#f59e0b",
        "keyframes": [ { "t": 0.8, "opacity": 0 }, { "t": 1.2, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "ref-l2", "type": "text", "text": "Sending this rewrites about 37.2k tokens at $2.25/M = $0.08", "x": 960, "y": 450, "fontSize": 38, "fontWeight": 500, "font": "mono", "color": "#f4f6fb",
        "keyframes": [ { "t": 1.1, "opacity": 0 }, { "t": 1.5, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "ref-send", "type": "shape", "shape": "rect", "x": 740, "y": 545, "width": 400, "height": 84, "radius": 14, "fill": "#1c2230", "stroke": "#4b5568", "strokeWidth": 3,
        "keyframes": [ { "t": 1.4, "opacity": 0, "scale": 0.9 }, { "t": 1.8, "opacity": 1, "scale": 1, "ease": "outBack" } ] },
      { "id": "ref-send-text", "type": "text", "text": "Send anyway", "x": 740, "y": 545, "fontSize": 36, "fontWeight": 700, "color": "#f4f6fb",
        "keyframes": [ { "t": 1.4, "opacity": 0 }, { "t": 1.8, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "ref-hold", "type": "shape", "shape": "rect", "x": 1180, "y": 545, "width": 400, "height": 84, "radius": 14, "fill": "#0f2a20", "stroke": "#34d399", "strokeWidth": 3,
        "keyframes": [ { "t": 1.6, "opacity": 0, "scale": 0.9 }, { "t": 2.0, "opacity": 1, "scale": 1, "ease": "outBack" } ] },
      { "id": "ref-hold-text", "type": "text", "text": "Don't send", "x": 1180, "y": 545, "fontSize": 36, "fontWeight": 700, "color": "#34d399",
        "keyframes": [ { "t": 1.6, "opacity": 0 }, { "t": 2.0, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "ref-badge", "type": "shape", "shape": "rect", "x": 960, "y": 760, "width": 980, "height": 110, "radius": 55, "fill": "#0f2a20", "stroke": "#34d399", "strokeWidth": 3,
        "keyframes": [ { "t": 2.2, "opacity": 0, "scale": 0.8 }, { "t": 2.7, "opacity": 1, "scale": 1, "ease": "outBack" } ] },
      { "id": "ref-badge-text", "type": "text", "text": "Don't send: no model call · 0 AI credits", "x": 960, "y": 760, "fontSize": 40, "fontWeight": 700, "color": "#34d399",
        "keyframes": [ { "t": 2.4, "opacity": 0 }, { "t": 2.8, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "ref-foot", "type": "text", "text": "asked once per cold cache · Send anyway sends it", "x": 960, "y": 880, "fontSize": 36, "fontWeight": 500, "color": "#9aa3b5",
        "keyframes": [ { "t": 3.0, "opacity": 0 }, { "t": 3.4, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "ref-note", "type": "text", "text": "shown with /cache-clock min 0.01 · the default threshold is $0.10", "x": 960, "y": 960, "fontSize": 28, "fontWeight": 500, "font": "mono", "color": "#6b7385",
        "keyframes": [ { "t": 3.2, "opacity": 0 }, { "t": 3.6, "opacity": 1, "ease": "outCubic" } ] }
    ] },
    { "id": "outro", "duration": 3.4, "transition": "fade", "elements": [
      { "id": "out-title", "type": "text", "text": "Cache Clock", "x": 960, "y": 330, "fontSize": 100, "fontWeight": 800, "color": "#f4f6fb",
        "keyframes": [ { "t": 0.1, "opacity": 0, "y": 360 }, { "t": 0.7, "opacity": 1, "y": 330, "ease": "outCubic" } ] },
      { "id": "out-cmd-card", "type": "shape", "shape": "rect", "x": 960, "y": 560, "width": 1480, "height": 230, "radius": 24, "fill": "#141925", "stroke": "#2a3142", "strokeWidth": 2,
        "keyframes": [ { "t": 0.5, "opacity": 0 }, { "t": 1.0, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "out-install", "type": "text", "text": "curl -fsSL …/tools/cache-clock/install.sh | sh", "x": 960, "y": 515, "fontSize": 44, "fontWeight": 500, "font": "mono", "color": "#34d399",
        "keyframes": [ { "t": 0.8, "opacity": 0 }, { "t": 1.2, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "out-report", "type": "text", "text": "then in Copilot:  /cache-clock help", "x": 960, "y": 605, "fontSize": 44, "fontWeight": 500, "font": "mono", "color": "#f4f6fb",
        "keyframes": [ { "t": 1.1, "opacity": 0 }, { "t": 1.5, "opacity": 1, "ease": "outCubic" } ] },
      { "id": "out-foot", "type": "text", "text": "Copilot CLI and VS Code · the clock, the price, one question", "x": 960, "y": 790, "fontSize": 40, "fontWeight": 500, "color": "#9aa3b5",
        "keyframes": [ { "t": 1.6, "opacity": 0 }, { "t": 2.1, "opacity": 1, "ease": "outCubic" } ] }
    ] }
  ]
}
