# W2 · round2 evidence

Before [15707a84](https://git.cafe/pingdotgg/t3code/commit/15707a84b03e27bb257d60e027812ebf94bbda25); after [597f1aea](https://git.cafe/pingdotgg/t3code/commit/597f1aea6191d434ad23877e0e94121b7858382e).

VM fs-11, Linux x86_64; Chromium 156.0.8078.70; no device emulation; DPR 2; font scaling 100%, root 16px; CSS viewport 1440×1000. The original Browser panel refused connections twice, so local Chromium 156 uses Playwright/CDP. Whole-viewport PNGs are 2880×2000; movies are 1440×1000, captured by timed CDP screenshots at approximately 10fps with variable frame durations. Reduced motion is emulated as reduce; fonts and browser network idle are awaited. Each accepted still matches another capture 500ms later. Video stills are paused at a deterministic source frame. The harness native boundary is rendered in this desktop browser; no native device or mobile emulation is claimed.

**What else changed — round 2:**

- W2 fullscreen and all eight W9 controls: zero changed pixels at threshold 0 and >8/255. Nothing else changed in these settled pairs.
- W10: only the harness repository diagnostic changes from `(absent)` to `fixture-org/media-upstream`. The two production media resources follow the selected environment in both revisions. M2: only that same repository diagnostic changes on each page. `(absent)` is a display sentinel, never a field/value sent by base code; raw transcript resource objects show the true omission. These diagnostic text changes are intentional evidence of this PR, not product layout changes.
- Recordings have small action/capture timing offsets and different playing video clock/pattern frames; both use the same scripted sequence. The captions below report per-side times. W10 starts with about1s of the default controls scene before selecting E1, and its video-loading indicator can appear while each scene mounts. These transient intervals differ between runs; settled frames contain no loading indicator. The clips do not establish frame-exact performance equivalence.
- Round 1’s declared transient loading/spinner, cursor/tooltip and capture-offset differences remain recorded in its retained rows. Its earlier fullscreen exclusion and the four missing subcase flags are replaced by this round’s evidence.

Diff0 saturates every nonzero channel delta to255, including a one-level change. Diff >8/255 highlights channel deltas strictly greater than8. All18 new pairs settled. [metrics-round2.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b0c61375d4993203/metrics-round2.json); [validation-round2.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acd29a4b9edcd10e/validation-round2.json).

**W2 — fullscreen video, completed in round 2**

W2 uses round 1’s synthetic PR detail/media-byte proxy, production panel/player and live asset RPC against fresh isolated server homes with T3CODE_DEV_SEED=0. The actual VIDEO fullscreen element is at (0,0),1440×1000 CSS, with matching screen/viewport and DPR2. The entire video is visible with normal aspect-ratio letterboxing, followed by return to inline playback. This supplements round1’s both-producer and ordinary-playback evidence.

**Same sequence:** inline paused → play → native VIDEO fullscreen → pause → seek to0.1s for settled frame → exit. Exact event times from each run:

**Before:** 1.009s inline paused video; 1.036s play inline; 2.665s enter real VIDEO fullscreen; 5.668s pause fullscreen; 9.110s settled full-viewport fullscreen still; 9.120s exit fullscreen.

**After:** 1.001s inline paused video; 1.015s play inline; 2.590s enter real VIDEO fullscreen; 5.594s pause fullscreen; 9.111s settled full-viewport fullscreen still; 9.129s exit fullscreen.

| Before · [15707a84](https://git.cafe/pingdotgg/t3code/commit/15707a84b03e27bb257d60e027812ebf94bbda25) | After · [597f1aea](https://git.cafe/pingdotgg/t3code/commit/597f1aea6191d434ad23877e0e94121b7858382e) | Diff0 ×255 | Diff >8/255 |
|---|---|---|---|
| [w2-fullscreen-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e007c4a45ae5df20/w2-fullscreen-before.mp4) | [w2-fullscreen-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c29a2fe9e7bc0fa0/w2-fullscreen-after.mp4) | N/A: recording | N/A: recording |

| Before · [15707a84](https://git.cafe/pingdotgg/t3code/commit/15707a84b03e27bb257d60e027812ebf94bbda25) | After · [597f1aea](https://git.cafe/pingdotgg/t3code/commit/597f1aea6191d434ad23877e0e94121b7858382e) | Diff0 ×255 | Diff >8/255 |
|---|---|---|---|
| ![w2-fullscreen-before-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35310654a8916246/w2-fullscreen-before-2.png) | ![w2-fullscreen-after-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d12d072d9f7af934/w2-fullscreen-after-2.png) | ![w2-fullscreen-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a80c260109afd45a/w2-fullscreen-diff0.png) | ![w2-fullscreen-diff8.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a365c6519a7fea12/w2-fullscreen-diff8.png) |

[w2-before-transcript.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a013632d38d52e57/w2-before-transcript.json), [w2-after-transcript.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e7c4f6f72c670da/w2-after-transcript.json). Fullscreen stills and both diffs are zero at both thresholds.

**Retained round1 subcases and tables**

Round1 ordinary playback and both producers: extensionless bare uploaded video V and image-syntax MP4 Q, plus linked/HTML video forms. Main interaction recording24s play,25s pause; its fullscreen attempt is excluded and superseded above.

| Before<br>[15707a84](https://git.cafe/pingdotgg/t3code/commit/15707a84b03e27bb257d60e027812ebf94bbda25) | After<br>[597f1aea](https://git.cafe/pingdotgg/t3code/commit/597f1aea6191d434ad23877e0e94121b7858382e) | Diff0<br>[15707a84](https://git.cafe/pingdotgg/t3code/commit/15707a84b03e27bb257d60e027812ebf94bbda25) → [597f1aea](https://git.cafe/pingdotgg/t3code/commit/597f1aea6191d434ad23877e0e94121b7858382e) | DiffT >8/255<br>[15707a84](https://git.cafe/pingdotgg/t3code/commit/15707a84b03e27bb257d60e027812ebf94bbda25) → [597f1aea](https://git.cafe/pingdotgg/t3code/commit/597f1aea6191d434ad23877e0e94121b7858382e) |
|---|---|---|---|
| ![wd-video-before-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1c429fae198f593b/wd-video-before-2.png) | ![wd-video-after-2.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7f82893ef2c545aa/wd-video-after-2.png) | ![wd-video-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/76f6a733ed9e24a3/wd-video-diff0.png) | ![wd-video-diffT.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c64ba7618539f8cf/wd-video-diffT.png) |
| [interactions-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/26fea6363c29fe51/interactions-before.mp4) | [interactions-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1de08805e0a37ec0/interactions-after.mp4) | N/A: recording | N/A: recording |


# Round2 seed and driver scripts

Primary final runs: [fullscreen-v3.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4c34e243eec104f/fullscreen-v3.cjs), [web-controls-w9-v4.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eea4e63abbe6e6b9/web-controls-w9-v4.cjs), [web-controls-w10-v4.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d96f443137b9281c/web-controls-w10-v4.cjs), [mobile-driver-v2-v3.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d8f28de087b0d69/mobile-driver-v2-v3.cjs), [web-harness-v2.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b5df47e690cb6d1/web-harness-v2.js), [web-harness-v4.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4de886d78b815be1/web-harness-v4.js), [build-mobile-v2.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73dad88379bd5a00/build-mobile-v2.mjs), [mobile-entry-v2.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/897380c633ff0c12/mobile-entry-v2.tsx), [mobile-stubs-v2.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/85e61b1e1b338d28/mobile-stubs-v2.tsx), [cdp-recorder.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6abaa2d2fbec6c14/cdp-recorder.cjs).

All written/reused scripts, including earlier capture attempts retained for reproducibility:

- [browser.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf11351a0ea2566e/browser.cjs)
- [build-mobile-v2.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73dad88379bd5a00/build-mobile-v2.mjs)
- [build-mobile.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e8d8c5eaa36e8c6c/build-mobile.mjs)
- [cdp-recorder.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6abaa2d2fbec6c14/cdp-recorder.cjs)
- [fixture-proxy.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/392dde86ed7d6aa3/fixture-proxy.mjs)
- [fullscreen-v3.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4c34e243eec104f/fullscreen-v3.cjs)
- [fullscreen.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b181dbde8f5149b/fullscreen.cjs)
- [inspect-legacy.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/06d363d0fd1cab67/inspect-legacy.py)
- [make-report-round2.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c413e204231ade60/make-report-round2.py)
- [make-v3.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/213d60e58ab0dd5f/make-v3.py)
- [mobile-after.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/04f639968cfd74d4/mobile-after.js)
- [mobile-before.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/866af0f85dc785cb/mobile-before.js)
- [mobile-driver-v2-v3.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d8f28de087b0d69/mobile-driver-v2-v3.cjs)
- [mobile-driver-v2.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fc6761be3ef020df/mobile-driver-v2.cjs)
- [mobile-driver.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4ddc601ddeececd4/mobile-driver.cjs)
- [mobile-entry-v2.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/897380c633ff0c12/mobile-entry-v2.tsx)
- [mobile-entry.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9d4641ca5fb194de/mobile-entry.tsx)
- [mobile-stubs-v2.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/85e61b1e1b338d28/mobile-stubs-v2.tsx)
- [mobile-stubs.tsx](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0b31836191d1de6a/mobile-stubs.tsx)
- [package-round2.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d7486665b81980fe/package-round2.py)
- [prepare.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/693510f379b596d0/prepare.py)
- [probe.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0664110a6ccd1b94/probe.cjs)
- [upload-round2.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7692a4f35989fe44/upload-round2.py)
- [validate-round2.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5577ae5b28266490/validate-round2.py)
- [web-bootstrap.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/159eac95737b569c/web-bootstrap.js)
- [web-controls-v2-v3.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3b3004e89944c71e/web-controls-v2-v3.cjs)
- [web-controls-v2.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/09d9e6f9df25ee05/web-controls-v2.cjs)
- [web-controls-w10-v4.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d96f443137b9281c/web-controls-w10-v4.cjs)
- [web-controls-w9-v4.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eea4e63abbe6e6b9/web-controls-w9-v4.cjs)
- [web-controls.cjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be48fd7a7c7eaa55/web-controls.cjs)
- [web-harness-v2.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7b5df47e690cb6d1/web-harness-v2.js)
- [web-harness-v4.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4de886d78b815be1/web-harness-v4.js)
- [web-harness.js](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/be7a17e6152f0aca/web-harness.js)

Exact synthetic media bytes: [wide.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eeae2fdf6d229c6f/wide.png), [tall.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d06b3102cf404b2/tall.png), [dark.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8b13bda53082c30f/dark.png), [light.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/52c41690318beff5/light.png), [pattern.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b8e2f73010ccb3be/pattern.mp4), [tone.wav](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c0b6e469c9a53c65/tone.wav).
