{
  "schemaVersion": 2,
  "id": "mobile",
  "title": "Use Today List on a phone or narrow screen",
  "video": "mobile.mp4",
  "poster": "mobile-poster.jpg",
  "captions": "mobile.vtt",
  "srt": "mobile.srt",
  "subtitleLog": "mobile.json",
  "sourceMaster": "output/video-masters-narrated/mobile.mp4",
  "fps": 30,
  "frameIndexConvention": "zero-based; start inclusive, end exclusive",
  "width": 480,
  "height": 1128,
  "screenHeight": 850,
  "frameCount": 786,
  "durationSeconds": 26.2,
  "captionsBurnedIn": true,
  "audioTracks": 1,
  "exampleDate": "2026-09-24",
  "capture": "Live Chromium Page.startScreencast frames; resampled to constant frame rate without cutting or speeding up actions.",
  "nativeDialogs": "OS file pickers are not captured. Cues explicitly identify file-selection steps.",
  "demoNote": null,
  "cues": [
    {
      "id": "mobile-01",
      "helpStep": 1,
      "stepTitle": "Navigate horizontally",
      "text": "On a phone, navigation scrolls sideways. Swipe to reveal the lists.",
      "narrationText": "On a phone, navigation scrolls sideways. Swipe to reveal the lists.",
      "startFrame": 0,
      "endFrameExclusive": 139,
      "startSeconds": 0.0,
      "endSeconds": 4.633333333333334,
      "actions": [
        {
          "action": "click",
          "target": "[data-view=\"Ideas\"]"
        }
      ],
      "originalStartFrame": 0,
      "originalEndFrameExclusive": 136,
      "addedHoldFrames": 3,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/mobile-01.mp3",
        "taskId": "a089824e-1f05-4c51-87d2-22d0c5f52108",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 4800,
        "endSampleExclusive": 214337,
        "startSeconds": 0.1,
        "endSeconds": 4.465354166666667,
        "startFrame": 3,
        "endFrameExclusive": 134,
        "sourceSha256": "0726726b47b0e314d9db4673181d8ead7e60ea2da3a46746c31ef5e4dd8a6a17"
      }
    },
    {
      "id": "mobile-02",
      "helpStep": 2,
      "stepTitle": "Create and edit tasks",
      "text": "Tap New task to open the same editor on a narrow screen.",
      "narrationText": "Tap New task to open the same editor on a narrow screen.",
      "startFrame": 139,
      "endFrameExclusive": 258,
      "startSeconds": 4.633333333333334,
      "endSeconds": 8.6,
      "actions": [
        {
          "action": "click",
          "target": "#new-task"
        }
      ],
      "originalStartFrame": 136,
      "originalEndFrameExclusive": 255,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/mobile-02.mp3",
        "taskId": "a487ae95-bbae-4327-b4a1-2f92a3a614c5",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 227200,
        "endSampleExclusive": 385467,
        "startSeconds": 4.733333333333333,
        "endSeconds": 8.0305625,
        "startFrame": 142,
        "endFrameExclusive": 241,
        "sourceSha256": "796efb6320835b92fdae3793f0e514f938e031bcbe55999b388b9f7940a4569e"
      }
    },
    {
      "id": "mobile-03",
      "helpStep": 2,
      "stepTitle": "Create and edit tasks",
      "text": "Enter a task name and notes. Scroll the dialog if you need to reach its buttons.",
      "narrationText": "Enter a task name and notes. Scroll the dialog if you need to reach its buttons.",
      "startFrame": 258,
      "endFrameExclusive": 414,
      "startSeconds": 8.6,
      "endSeconds": 13.8,
      "actions": [
        {
          "action": "type",
          "target": "#task-title",
          "value": "Sketch a balcony garden"
        },
        {
          "action": "type",
          "target": "#task-notes",
          "value": "Try herbs near the window."
        },
        {
          "action": "scroll",
          "target": "#save-task"
        }
      ],
      "originalStartFrame": 255,
      "originalEndFrameExclusive": 411,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/mobile-03.mp3",
        "taskId": "98c9cd44-0326-4aa6-a9d1-c87acd3de362",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 417600,
        "endSampleExclusive": 642741,
        "startSeconds": 8.7,
        "endSeconds": 13.3904375,
        "startFrame": 261,
        "endFrameExclusive": 402,
        "sourceSha256": "5dbcf8846d25d133ef55e077352dbea02c51e1d918668c9ce20a2d8f5b6e287a"
      }
    },
    {
      "id": "mobile-04",
      "helpStep": 2,
      "stepTitle": "Create and edit tasks",
      "text": "Tap Create task to save it in the selected list.",
      "narrationText": "Tap Create task to save it in the selected list.",
      "startFrame": 414,
      "endFrameExclusive": 528,
      "startSeconds": 13.8,
      "endSeconds": 17.6,
      "actions": [
        {
          "action": "click",
          "target": "#save-task"
        }
      ],
      "originalStartFrame": 411,
      "originalEndFrameExclusive": 525,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/mobile-04.mp3",
        "taskId": "e390998a-f853-4392-a969-b2e784595906",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 667200,
        "endSampleExclusive": 803176,
        "startSeconds": 13.9,
        "endSeconds": 16.732833333333332,
        "startFrame": 417,
        "endFrameExclusive": 502,
        "sourceSha256": "29e1c44cae8237120f21eadf761177237a6f6afc04088e556d48fe4e4dc21add"
      }
    },
    {
      "id": "mobile-05",
      "helpStep": 3,
      "stepTitle": "Find backup controls",
      "text": "Below the tasks, find Export backup and Import backup.",
      "narrationText": "Below the tasks, find Export backup and Import backup.",
      "startFrame": 528,
      "endFrameExclusive": 644,
      "startSeconds": 17.6,
      "endSeconds": 21.466666666666665,
      "actions": [
        {
          "action": "scroll",
          "target": ".mobile-backup"
        },
        {
          "action": "highlight",
          "target": ".mobile-backup"
        }
      ],
      "originalStartFrame": 525,
      "originalEndFrameExclusive": 641,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/mobile-05.mp3",
        "taskId": "2e0c3ead-ccf9-4af8-9b9d-80a4c68f0319",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 849600,
        "endSampleExclusive": 1021242,
        "startSeconds": 17.7,
        "endSeconds": 21.275875,
        "startFrame": 531,
        "endFrameExclusive": 639,
        "sourceSha256": "7c54d764108ab07ca8b5a611d96e22b41b9b45e575e1746e5cf655b934c3ccdc"
      }
    },
    {
      "id": "mobile-06",
      "helpStep": 4,
      "stepTitle": "Return to Help",
      "text": "Return to the top bar and tap Help to open the guide in a separate tab.",
      "narrationText": "Return to the top bar and tap Help to open the guide in a separate tab.",
      "startFrame": 644,
      "endFrameExclusive": 786,
      "startSeconds": 21.466666666666665,
      "endSeconds": 26.2,
      "actions": [
        {
          "action": "scroll",
          "target": ".topbar"
        },
        {
          "action": "highlight",
          "target": ".help-link"
        }
      ],
      "originalStartFrame": 641,
      "originalEndFrameExclusive": 783,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/mobile-06.mp3",
        "taskId": "658d4164-8d1f-43eb-a55f-7e2c84463aa8",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 1035200,
        "endSampleExclusive": 1222446,
        "startSeconds": 21.566666666666666,
        "endSeconds": 25.467625,
        "startFrame": 647,
        "endFrameExclusive": 765,
        "sourceSha256": "945c124bc8a76a1b070316e0ad673217480de7113ef1e8f715a463381ade0565"
      }
    }
  ],
  "subtitleBoundaryEncoding": "ASS cue boundaries quantized down to centiseconds to align exactly with the logged 30 fps frames.",
  "videoSha256": "2853213d1f348bf93e87fe2b8b9fe0cf9a07b40f09200d34ccd1fe45dd0a41d2",
  "masterSha256": "81e2a3bcade7eb2b3345b0bb6eeeb9a320eed274ff3c41def8f0cf8bc7ddf3c7",
  "controlsClearancePixels": 128,
  "originalSourceMaster": "output/video-masters/mobile.mp4",
  "originalMasterSha256": "59299fef625ae1908704ff4af20fcd75361ea36743a409ace9c68365d9b86d89",
  "originalFrameCount": 783,
  "addedNarrationHoldFrames": 3,
  "narration": {
    "voice": "Niki",
    "language": "en",
    "description": "Friendly American narration",
    "generatedSpeech": true,
    "model": "eleven_multilingual_v2",
    "generationSpeed": 1.05,
    "sampleRate": 48000,
    "codec": "AAC",
    "audioFile": "mobile-narration.m4a",
    "trackMaster": "output/narration/tracks/mobile.wav",
    "alignment": "Each original cue plays at its original pace. End-frame holds extend cues when needed for natural speech, with 100 ms lead-in and at least 150 ms end clearance. Audio is never truncated or sped up.",
    "timingConvention": "Audio sample indices at 48000 Hz are exact; covering video frame ranges are rounded outward."
  }
}
