# F01 — capture3 merged evidence

**CAPTURED inline — both iOS clips play→pause in matched light and dark pairs. Known fullscreen capture limitation retained.**

Before [32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6); after [57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4).

HARNESS synthetic RPC data around real app routes, not a standalone component. iPhone17Pro402×874pt,DPR3,fontScale1 (still402×874px, video1206×2622); Pixel9 API36,411.4286×923.4286dp,DPR2.625,fontScale1 (1080×2424px). agent-device/Simlock cached clients. iOS F01 light/dark; F10 light. Android F08/F10 dark. JS clock08:00Z for static comparisons; OS clock remains in whole frames. Identical status-bar crops: iOS(0,62,402,873), Android(0,120,1080,2424). No pixel alignment, retouching or resampling for numeric diffs. F10 recaptures match isolated server settings, reviewGuidesEnabled=false on both revisions.

This supersedes the earlier missing matching iOS inline sequences. [Retained accepted web/Android proof and fullscreen diagnostics](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/341c794f8320e5a3/F01-sheet.md). Wide-web and iOS fullscreen remain visually unverified because recording becomes black; neither was retried in this pass. Android fullscreen proof remains accepted.

Both production VideoView players are mounted using their Play buttons, paused and sought to0s before recording. Each native player then plays4s and pauses2s; the same driver controls both revisions. The second clip visibly navigates to its distinct three-colour screen. Player method calls are routed through Hermes/CDP; no fake video widget. These interaction screenshots are video keyframes, not settled static-comparison claims.

## iOS light,402×874pt

Steps above each pair: clip0 play at1.0s → pause at6.5–6.6s; clip1 play at10.0–10.1s → pause at15.5–15.7s; stop at19.9–20.1s. Exact per-side clocks below.

| Before | After |
|---|---|
| [F01-ios-light-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/62b1d920f749d848/F01-ios-light-before.mp4)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6) | [F01-ios-light-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b950addec0b181af/F01-ios-light-after.mp4)<br>[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) |

Action clocks: [F01-ios-light-before-events.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f61f21069ecf6d63/F01-ios-light-before-events.json) · [F01-ios-light-after-events.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/151df5a953ab44cf/F01-ios-light-after-events.json)

![F01-ios-light-before-interaction-stills.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/80eb50f9c867d4ec/F01-ios-light-before-interaction-stills.png)

One-second inspection: [F01-ios-light-before-contact-000.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/383119fba46973bd/F01-ios-light-before-contact-000.png) · [F01-ios-light-before-contact-015.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/71675d30af9b3976/F01-ios-light-before-contact-015.png)

![F01-ios-light-after-interaction-stills.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5bb581d3609a5f0e/F01-ios-light-after-interaction-stills.png)

One-second inspection: [F01-ios-light-after-contact-000.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/57234e588438b3a6/F01-ios-light-after-contact-000.png) · [F01-ios-light-after-contact-015.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d448926738f4fb6/F01-ios-light-after-contact-015.png)

## iOS dark,402×874pt

Steps above each pair: clip0 play at1.0s → pause at6.5–6.6s; clip1 play at10.0–10.1s → pause at15.5–15.7s; stop at19.9–20.1s. Exact per-side clocks below.

| Before | After |
|---|---|
| [F01-ios-dark-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/14339bff52f0d913/F01-ios-dark-before.mp4)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6) | [F01-ios-dark-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c5dadc58bce573d0/F01-ios-dark-after.mp4)<br>[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) |

Action clocks: [F01-ios-dark-before-events.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d76266d3a90b9aa5/F01-ios-dark-before-events.json) · [F01-ios-dark-after-events.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/da7a52941349db76/F01-ios-dark-after-events.json)

![F01-ios-dark-before-interaction-stills.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/248b58014a0b8e27/F01-ios-dark-before-interaction-stills.png)

One-second inspection: [F01-ios-dark-before-contact-000.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1504bf616d667742/F01-ios-dark-before-contact-000.png) · [F01-ios-dark-before-contact-015.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6a05c169af46cc08/F01-ios-dark-before-contact-015.png)

![F01-ios-dark-after-interaction-stills.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/70f7f37ed26d35b6/F01-ios-dark-after-interaction-stills.png)

One-second inspection: [F01-ios-dark-after-contact-000.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/215688c106fcc9e2/F01-ios-dark-after-contact-000.png) · [F01-ios-dark-after-contact-015.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8639e64cd66c507d/F01-ios-dark-after-contact-015.png)

What else changed: baseline cell videos stack vertically; head uses two equal-width columns, reducing table height and moving trailing prose, the strip and changed files upward. Both distinct clips play and pause. Hosted source videos include their own native chrome and a developer warning bar; those pixels are part of identical media bytes. Full-frame OS clock differs.

Driver: [inline-playback.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f81420b06a4322ee/inline-playback.py) · [native-control.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f32f8cc6ffa52cc7/native-control.py) · [cdp.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/66e205a14a6fb799/cdp.mjs)
