[
  {
    "id": "cut-or-move",
    "title": "A cut is not a fast zoom.",
    "question": "Same start. Same destination. Different continuity.",
    "duration": 2400,
    "markup": "<div class=\"lab-comparison\"><div class=\"comparison-pane\"><span class=\"stage-label\">01 / Cut</span><div class=\"context-world cut-world\"><div class=\"diagram-header\">Workspace</div><div class=\"diagram-sidebar\"></div><div class=\"focus-tile\"><i></i><i></i><i></i></div></div></div><div class=\"comparison-pane\"><span class=\"stage-label\">02 / Move</span><div class=\"context-world move-world\"><div class=\"diagram-header\">Workspace</div><div class=\"diagram-sidebar\"></div><div class=\"focus-tile\"><i></i><i></i><i></i></div></div></div></div>",
    "watch": "The left view changes in one discrete step. The right traverses intermediate scales and slows before it stops. Similar before/after stills would hide the difference.",
    "settings": "Both wait 600 ms. The cut switches with a step-end transition; the move lasts 900 ms with cubic-bezier(.16, 1, .3, 1). Both then hold.",
    "boundary": "The schematic geometry and curve are invented. The Atlas frame check establishes a cut; the Codex check supports a qualitative deceleration, not this exact curve.",
    "references": [
      [
        "atlas-context-pullback",
        "Atlas: one-frame change of framing"
      ],
      [
        "codex-review-reframe",
        "Codex: intermediate frames and deceleration"
      ]
    ]
  },
  {
    "id": "paired-reveal",
    "title": "Make room before the answer arrives.",
    "question": "Can a new surface enter without losing the request?",
    "duration": 2800,
    "markup": "<div class=\"pair-request diagram-card\"><span class=\"mini-label\">Request</span><b>Compare these options.</b><span class=\"diagram-line\"></span><span class=\"diagram-line short\"></span></div><div class=\"pair-divider\"></div><div class=\"pair-result diagram-card\"><span class=\"mini-label\">Result</span><div class=\"mini-chart\"><i></i><i></i><i></i></div><span class=\"diagram-line\"></span></div>",
    "watch": "The request moves first. The result begins entering before that move finishes, so the transition reads as a connected re-layout rather than two unrelated events.",
    "settings": "Request re-layout: 450–1,150 ms. Result entrance: 700–1,350 ms. Divider: 600–1,100 ms. Moves use cubic-bezier(.22, 1, .36, 1); result opacity is linear.",
    "boundary": "This is an invented split layout. The source reference supports overlapping growth and annotation, not the placement, timings, or capabilities shown here.",
    "references": [
      [
        "agent-task-card-entry",
        "Agent: callout overlaps card growth"
      ],
      [
        "prism-linked-panes",
        "Prism: linked document contexts"
      ]
    ]
  },
  {
    "id": "staggered-words",
    "title": "Stagger the arrival, not the baseline.",
    "question": "A phrase can build without every word competing at once.",
    "duration": 2400,
    "markup": "<div class=\"word-composition\"><span class=\"mini-label\">One phrase / three arrivals</span><div class=\"word-row\"><b>Build</b><b>with</b><b>context.</b></div><span class=\"baseline-rule\"></span></div>",
    "watch": "Words start 120 ms apart and settle onto one unchanged baseline. The completed phrase holds longer than any one entrance.",
    "settings": "First entrance at 400 ms; 120 ms stagger; 600 ms per word; 24 px vertical travel; cubic-bezier(.22, 1, .36, 1). Final hold begins at 1,240 ms.",
    "boundary": "The words, horizontal arrangement, travel distance, and timings are original. The references use different layouts and include a later re-centering phase; do not collapse those into one generic text effect.",
    "references": [
      [
        "workspace-icon-phrases",
        "Workspace: row entrance before later re-centering"
      ],
      [
        "agent-slide-build",
        "Agent: columns enter in order"
      ]
    ]
  },
  {
    "id": "context-handoff",
    "title": "Keep the object. Change its context.",
    "question": "Does the audience recognize the same card inside a device?",
    "duration": 3000,
    "markup": "<div class=\"device-frame\"><span class=\"device-camera\"></span><span class=\"device-home\"></span></div><div class=\"handoff-card diagram-card\"><span class=\"mini-label\">Field note / 04</span><div class=\"abstract-landscape\"><i></i><i></i></div><b>A place to begin.</b><span class=\"diagram-line\"></span></div>",
    "watch": "The same DOM object moves and scales; it is not replaced with a second look-alike. The device outline arrives during the move, then both settle together.",
    "settings": "Card transforms from 500–1,500 ms using cubic-bezier(.22, 1, .36, 1). Device fades in from 800–1,500 ms. The final composition holds 1,500 ms.",
    "boundary": "A neutral card and device outline replace all source UI, art, and branding. This experiment tests continuity; it does not claim how the source compositor constructed its layers.",
    "references": [
      [
        "pulse-card-arc",
        "Pulse: device and cards overlap during handoff"
      ],
      [
        "pulse-card-to-reading",
        "Pulse: overlay rises while the background dims"
      ]
    ]
  },
  {
    "id": "selection-first",
    "title": "Establish attention before the change.",
    "question": "A selection can explain a reframe without another camera move.",
    "duration": 3000,
    "markup": "<div class=\"selection-panel diagram-card\"><span class=\"mini-label\">Document</span><div class=\"selection-row\"><span class=\"selection-highlight\"></span><b>One detail worth noticing.</b></div><span class=\"diagram-line\"></span><span class=\"diagram-line short\"></span><div class=\"selection-callout\">Keep this context visible.</div><div class=\"selection-result\"><span class=\"mini-label\">Reframed detail</span><b>The change has a reason.</b></div></div>",
    "watch": "A highlight appears, a callout follows, and only then does the diagram cut to the detail. The final surface stays still long enough to read.",
    "settings": "Highlight: 350–700 ms, linear. Callout: 850–1,300 ms, cubic-bezier(.22, 1, .36, 1). Discrete detail change at 1,750 ms, followed by a 1,250 ms hold.",
    "boundary": "This teaching sequence combines separate observed ideas. It is not an actual product workflow, a latency promise, or a reconstruction of one source film.",
    "references": [
      [
        "workspace-navigation-push",
        "Workspace: selection and a cut, not a push"
      ],
      [
        "atlas-inline-reveal",
        "Atlas: local request and surrounding context"
      ]
    ]
  },
  {
    "id": "layered-cards",
    "title": "Let the layers arrive at different times.",
    "question": "Overlap, scale, and a short stagger can establish depth without a bounce.",
    "duration": 2800,
    "markup": "<div class=\"layer-card layer-back diagram-card\"><span class=\"mini-label\">03 / Background</span><div class=\"abstract-block\"></div></div><div class=\"layer-card layer-middle diagram-card\"><span class=\"mini-label\">02 / Context</span><div class=\"abstract-block\"></div></div><div class=\"layer-card layer-front diagram-card\"><span class=\"mini-label\">01 / Focus</span><div class=\"abstract-block\"></div><b>One clear foreground.</b></div>",
    "watch": "Back, middle, and foreground layers enter with overlapping moves. Different final scales and positions establish the hierarchy; every move settles without an added overshoot.",
    "settings": "Entrances begin at 400, 560, and 720 ms; each lasts 850 ms using cubic-bezier(.16, 1, .3, 1). The foreground is last. Final hold: 1,230 ms.",
    "boundary": "These invented cards test a layer hierarchy, not the source's imagery or exact path. No spring or overshoot parameter was recovered from the source study.",
    "references": [
      [
        "image-overlap-stack",
        "Images: overlapping output stack"
      ],
      [
        "pulse-card-to-reading",
        "Pulse: smaller displacement near the settle"
      ]
    ]
  }
]
