{
  "side": "before",
  "events": [
    {
      "ms": 0,
      "action": "Click end of composer",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 11,
      "focusOffset": 11
    },
    {
      "ms": 906,
      "action": "ArrowLeft 1/8",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 10,
      "focusOffset": 10
    },
    {
      "ms": 1327,
      "action": "ArrowLeft 2/8",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 9,
      "focusOffset": 9
    },
    {
      "ms": 1747,
      "action": "ArrowLeft 3/8",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 8,
      "focusOffset": 8
    },
    {
      "ms": 2165,
      "action": "ArrowLeft 4/8",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 7,
      "focusOffset": 7
    },
    {
      "ms": 2607,
      "action": "ArrowLeft 5/8",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 6,
      "focusOffset": 6
    },
    {
      "ms": 3059,
      "action": "ArrowLeft 6/8",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 5,
      "focusOffset": 5
    },
    {
      "ms": 3476,
      "action": "ArrowLeft 7/8",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 4,
      "focusOffset": 4
    },
    {
      "ms": 3924,
      "action": "ArrowLeft 8/8",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 3,
      "focusOffset": 3
    },
    {
      "ms": 4356,
      "action": "Shift+ArrowLeft selects one hyphen",
      "text": "a -> b => c",
      "selection": "-",
      "anchorOffset": 3,
      "focusOffset": 2
    },
    {
      "ms": 5292,
      "action": "Type x to replace the selected hyphen",
      "text": "a x> b => c",
      "selection": "",
      "anchorOffset": 3,
      "focusOffset": 3
    },
    {
      "ms": 5911,
      "action": "Backspace deletes x",
      "text": "a > b => c",
      "selection": "",
      "anchorOffset": 2,
      "focusOffset": 2
    },
    {
      "ms": 6561,
      "action": "Retype - to restore original source",
      "text": "a -> b => c",
      "selection": "",
      "anchorOffset": 3,
      "focusOffset": 3
    },
    {
      "ms": 7385,
      "action": "Select all and copy ASCII source",
      "text": "a -> b => c",
      "selection": "a -> b => c",
      "anchorOffset": 0,
      "focusOffset": 1
    },
    {
      "ms": 8328,
      "action": "End clears selection; Enter sends",
      "text": "\n",
      "selection": "",
      "anchorOffset": 0,
      "focusOffset": 0
    },
    {
      "ms": 8492,
      "action": "Sent row appeared",
      "text": "a -> b => c"
    },
    {
      "ms": 9897,
      "action": "Turn stopped, UI settled",
      "stopRequestedMs": 8492,
      "settledFirstMs": 9015,
      "pixelIdentical500ms": true
    },
    {
      "ms": 11770,
      "action": "Final settled frame; hold complete"
    }
  ],
  "frames": [
    {
      "file": 0,
      "ms": 89
    },
    {
      "file": 1,
      "ms": 187
    },
    {
      "file": 2,
      "ms": 292
    },
    {
      "file": 3,
      "ms": 392
    },
    {
      "file": 4,
      "ms": 488
    },
    {
      "file": 5,
      "ms": 594
    },
    {
      "file": 6,
      "ms": 701
    },
    {
      "file": 7,
      "ms": 795
    },
    {
      "file": 8,
      "ms": 893
    },
    {
      "file": 9,
      "ms": 990
    },
    {
      "file": 10,
      "ms": 1107
    },
    {
      "file": 11,
      "ms": 1208
    },
    {
      "file": 12,
      "ms": 1297
    },
    {
      "file": 13,
      "ms": 1400
    },
    {
      "file": 14,
      "ms": 1504
    },
    {
      "file": 15,
      "ms": 1601
    },
    {
      "file": 16,
      "ms": 1698
    },
    {
      "file": 17,
      "ms": 1808
    },
    {
      "file": 18,
      "ms": 1900
    },
    {
      "file": 19,
      "ms": 2014
    },
    {
      "file": 20,
      "ms": 2104
    },
    {
      "file": 21,
      "ms": 2200
    },
    {
      "file": 22,
      "ms": 2301
    },
    {
      "file": 23,
      "ms": 2411
    },
    {
      "file": 24,
      "ms": 2497
    },
    {
      "file": 25,
      "ms": 2606
    },
    {
      "file": 26,
      "ms": 2736
    },
    {
      "file": 27,
      "ms": 2822
    },
    {
      "file": 28,
      "ms": 2922
    },
    {
      "file": 29,
      "ms": 3017
    },
    {
      "file": 30,
      "ms": 3122
    },
    {
      "file": 31,
      "ms": 3225
    },
    {
      "file": 32,
      "ms": 3324
    },
    {
      "file": 33,
      "ms": 3425
    },
    {
      "file": 34,
      "ms": 3519
    },
    {
      "file": 35,
      "ms": 3620
    },
    {
      "file": 36,
      "ms": 3728
    },
    {
      "file": 37,
      "ms": 3813
    },
    {
      "file": 38,
      "ms": 3933
    },
    {
      "file": 39,
      "ms": 4023
    },
    {
      "file": 40,
      "ms": 4115
    },
    {
      "file": 41,
      "ms": 4222
    },
    {
      "file": 42,
      "ms": 4325
    },
    {
      "file": 43,
      "ms": 4423
    },
    {
      "file": 44,
      "ms": 4569
    },
    {
      "file": 45,
      "ms": 4657
    },
    {
      "file": 46,
      "ms": 4761
    },
    {
      "file": 47,
      "ms": 4854
    },
    {
      "file": 48,
      "ms": 4953
    },
    {
      "file": 49,
      "ms": 5052
    },
    {
      "file": 50,
      "ms": 5148
    },
    {
      "file": 51,
      "ms": 5246
    },
    {
      "file": 52,
      "ms": 5353
    },
    {
      "file": 53,
      "ms": 5458
    },
    {
      "file": 54,
      "ms": 5558
    },
    {
      "file": 55,
      "ms": 5657
    },
    {
      "file": 56,
      "ms": 5756
    },
    {
      "file": 57,
      "ms": 5859
    },
    {
      "file": 58,
      "ms": 5955
    },
    {
      "file": 59,
      "ms": 6056
    },
    {
      "file": 60,
      "ms": 6153
    },
    {
      "file": 61,
      "ms": 6249
    },
    {
      "file": 62,
      "ms": 6363
    },
    {
      "file": 63,
      "ms": 6458
    },
    {
      "file": 64,
      "ms": 6553
    },
    {
      "file": 65,
      "ms": 6651
    },
    {
      "file": 66,
      "ms": 6751
    },
    {
      "file": 67,
      "ms": 6851
    },
    {
      "file": 68,
      "ms": 6950
    },
    {
      "file": 69,
      "ms": 7052
    },
    {
      "file": 70,
      "ms": 7152
    },
    {
      "file": 71,
      "ms": 7250
    },
    {
      "file": 72,
      "ms": 7355
    },
    {
      "file": 73,
      "ms": 7452
    },
    {
      "file": 74,
      "ms": 7674
    },
    {
      "file": 75,
      "ms": 7771
    },
    {
      "file": 76,
      "ms": 7866
    },
    {
      "file": 77,
      "ms": 7968
    },
    {
      "file": 78,
      "ms": 8069
    },
    {
      "file": 79,
      "ms": 8165
    },
    {
      "file": 80,
      "ms": 8268
    },
    {
      "file": 81,
      "ms": 8368
    },
    {
      "file": 82,
      "ms": 8697
    },
    {
      "file": 83,
      "ms": 8817
    },
    {
      "file": 84,
      "ms": 9106
    },
    {
      "file": 85,
      "ms": 9286
    },
    {
      "file": 86,
      "ms": 9367
    },
    {
      "file": 87,
      "ms": 9466
    },
    {
      "file": 88,
      "ms": 9562
    },
    {
      "file": 89,
      "ms": 9679
    },
    {
      "file": 90,
      "ms": 9794
    },
    {
      "file": 91,
      "ms": 10008
    },
    {
      "file": 92,
      "ms": 10116
    },
    {
      "file": 93,
      "ms": 10228
    },
    {
      "file": 94,
      "ms": 10324
    },
    {
      "file": 95,
      "ms": 10420
    },
    {
      "file": 96,
      "ms": 10554
    },
    {
      "file": 97,
      "ms": 10650
    },
    {
      "file": 98,
      "ms": 10761
    },
    {
      "file": 99,
      "ms": 10888
    },
    {
      "file": 100,
      "ms": 10999
    },
    {
      "file": 101,
      "ms": 11099
    },
    {
      "file": 102,
      "ms": 11187
    },
    {
      "file": 103,
      "ms": 11318
    },
    {
      "file": 104,
      "ms": 11417
    },
    {
      "file": 105,
      "ms": 11536
    },
    {
      "file": 106,
      "ms": 11658
    },
    {
      "file": 107,
      "ms": 11850
    }
  ],
  "copied": "a -> b => c",
  "sent": "a -> b => c",
  "typography": {
    "font": "\"Inter Variable\", -apple-system, BlinkMacSystemFont, \"Inter Variable\", \"Segoe UI\", system-ui, sans-serif",
    "fontSize": "14px",
    "fontVariantLigatures": "none",
    "fontFeatureSettings": "\"liga\" 0"
  },
  "clock": "2026-11-03T04:00:00Z",
  "browser": "148.0.7778.96",
  "viewport": {
    "width": 1440,
    "height": 1000
  },
  "dpr": 1,
  "fontScaling": "100%",
  "reducedMotion": true,
  "playwright": "1.60.0",
  "theme": "light",
  "interfaceFont": "Inter Variable",
  "promptFont": "Inter Variable",
  "stopRequestedMs": 8492,
  "settledMs": 9897,
  "settledFirstMs": 9015,
  "pixelIdentical500ms": true,
  "finalHoldMs": 1873,
  "finalState": "Code\nWorking\n1\nSettled\n0\nAL\nArrow ligatures\n/\nArrow ligatures\nStopped\nYou\n\na -> b => c\n\n4:11 AM\n\nRun interrupted\n\u00b7\u00a0Run interrupted before provider start\nYou\n\na -> b => c\n\n4:11 AM\n\nRun interrupted\n\u00b7\u00a0Run interrupted before provider start\n\n\n\n\nAsk anything. @ files, $ skills, / commands\nDefault\nFull access\nfs-21\nOpen in editor\nAdd project script\ncapture\nPublish repository\nChanges\n+0\n-0\nToggle Sidebar\nSidebar hidden",
  "narratedSteps": [
    {
      "action": "Click end of composer",
      "actionCaptureMs": 0,
      "videoSeconds": 0.4,
      "encodedFrame": 4,
      "decodedFrameSha256": "e19d3df77c45d477e98815bc5486c4651d95768710b15a7680740b3a9bce564d"
    },
    {
      "action": "ArrowLeft 1/8",
      "actionCaptureMs": 906,
      "videoSeconds": 1.1,
      "encodedFrame": 11,
      "decodedFrameSha256": "5af1a5cb3b9e6aa81ce0ddf28e71a6c435c36a9a7d2233b7773249306d8dcf6b"
    },
    {
      "action": "ArrowLeft 2/8",
      "actionCaptureMs": 1327,
      "videoSeconds": 1.5,
      "encodedFrame": 15,
      "decodedFrameSha256": "7d690a207b600c45dd3ac5960064db1ccbc33f85120d825d5df67c6537c1806e"
    },
    {
      "action": "ArrowLeft 3/8",
      "actionCaptureMs": 1747,
      "videoSeconds": 1.9,
      "encodedFrame": 19,
      "decodedFrameSha256": "5acbed49bfc24c1934347fb21d6d64e7dcb6dd0097f8ddfbb65976669a32d541"
    },
    {
      "action": "ArrowLeft 4/8",
      "actionCaptureMs": 2165,
      "videoSeconds": 2.4,
      "encodedFrame": 24,
      "decodedFrameSha256": "3232c2506cd58e5ac5724b959871872df49b862115508c258a0b94a6ee43cb8b"
    },
    {
      "action": "ArrowLeft 5/8",
      "actionCaptureMs": 2607,
      "videoSeconds": 2.8,
      "encodedFrame": 28,
      "decodedFrameSha256": "0e806ff8c07f5015312f0fae8b4cabd04dc5b58c3b2d93ff68f19e7f2af883ce"
    },
    {
      "action": "ArrowLeft 6/8",
      "actionCaptureMs": 3059,
      "videoSeconds": 3.2,
      "encodedFrame": 32,
      "decodedFrameSha256": "d7fe1ca44f8314321c49793095ab221cec55dd0ba70a2215778d71f3e0450c97"
    },
    {
      "action": "ArrowLeft 7/8",
      "actionCaptureMs": 3476,
      "videoSeconds": 3.7,
      "encodedFrame": 37,
      "decodedFrameSha256": "a5cbaf3533b7963b3ba908f33b1c415cb0d39237a1a10bb7f74b4a5cc16d6166"
    },
    {
      "action": "ArrowLeft 8/8",
      "actionCaptureMs": 3924,
      "videoSeconds": 4.1,
      "encodedFrame": 41,
      "decodedFrameSha256": "7536ea76c9496fc4d69790384a698802078cb1673448dc3326a313c959f455e5"
    },
    {
      "action": "Shift+ArrowLeft selects one hyphen",
      "actionCaptureMs": 4356,
      "videoSeconds": 4.7,
      "encodedFrame": 47,
      "decodedFrameSha256": "89ae4229bc26e11ac0dde184c7b921108b9ff87c8373c196bce19645aeee12fe"
    },
    {
      "action": "Type x to replace the selected hyphen",
      "actionCaptureMs": 5292,
      "videoSeconds": 5.5,
      "encodedFrame": 55,
      "decodedFrameSha256": "607ba08a9598cd44e68ec4735714ca30b4c54864044b9745caabb052aa22138f"
    },
    {
      "action": "Backspace deletes x",
      "actionCaptureMs": 5911,
      "videoSeconds": 6.2,
      "encodedFrame": 62,
      "decodedFrameSha256": "7461636815fb75f20108cbc4e2a12fa48631221e39fd410e91869d562a1d2852"
    },
    {
      "action": "Retype - to restore original source",
      "actionCaptureMs": 6561,
      "videoSeconds": 6.8,
      "encodedFrame": 68,
      "decodedFrameSha256": "fa63d2538b21fbcc5f30667c306995dc650ad8222a1da62a3ad408e1c8f0a95f"
    },
    {
      "action": "Select all and copy ASCII source",
      "actionCaptureMs": 7385,
      "videoSeconds": 7.8,
      "encodedFrame": 78,
      "decodedFrameSha256": "87673f1a604a0cc6c69d46e95783e025d09bf641d3b1ae294a93a37e898ecb8a"
    },
    {
      "action": "End clears selection; Enter sends",
      "actionCaptureMs": 8328,
      "videoSeconds": 8.6,
      "encodedFrame": 86,
      "decodedFrameSha256": "e0ac3ccda0d589f3c0a5c94420275d02ca98777f4d1f29e4899fa9612b08decc"
    },
    {
      "action": "Sent row appeared",
      "actionCaptureMs": 8492,
      "videoSeconds": 8.7,
      "encodedFrame": 87,
      "decodedFrameSha256": "8a7d4041c7fbf8cd67c232e79ce4ae9b37152690f7111272c07e2bc58a11947c"
    },
    {
      "action": "Turn stopped, UI settled",
      "actionCaptureMs": 9897,
      "videoSeconds": 9.9,
      "encodedFrame": 99,
      "decodedFrameSha256": "e15dee0487f6b96c9f13e6aca1558d8094537189530b2efb3fb5e98f94ffa358"
    },
    {
      "action": "Final settled frame; hold complete",
      "actionCaptureMs": 11770,
      "videoSeconds": 11.8,
      "encodedFrame": 118,
      "decodedFrameSha256": "2a8531f76dfe877bc5f41c403db6a5abacf66bc405d6ca02e961c1cc3edbeda0"
    }
  ],
  "narrationClock": "Encoded MP4 time, verified decoded frames after each interaction; events[].ms retains action-onset capture time.",
  "pixelComparison": {
    "firstSha256": "8b10bfaff68f1720d75615dda4c8b979e43336940cc10757b273bf08d59624e0",
    "secondSha256": "8b10bfaff68f1720d75615dda4c8b979e43336940cc10757b273bf08d59624e0",
    "finalSha256": "8b10bfaff68f1720d75615dda4c8b979e43336940cc10757b273bf08d59624e0",
    "comparison": "PNG byte-identical; first and second screenshots separated by waitForTimeout(500); final screenshot after waitForTimeout(1700)."
  }
}
