Measured locally on 2026-10-14, using one worker and the same installed Chromium/WebKit binaries. The baseline is the untouched PR head 9b47d65; product code did not change. JSON reports supplied durations, outcomes and retries. These are local samples, not a reliability guarantee.
| Run | Executions | Pass / skip / fail | Retries | Wall time |
|---|---|---|---|---|
| Untouched baseline | 164 | 154 / 9 / 1 | 0 | 561.6s |
| First offline attempt (thumbnail failure) | 36 | 35 / 0 / 1 | 0 | 72.9s |
| Revised routine | 36 | 36 / 0 / 0 | 0 | 57.0s |
| Routine repeat | 36 | 36 / 0 / 0 | 0 | 56.3s |
| Browser | Baseline count | Routine count | Baseline case sum / block | Routine case sum / block |
|---|---|---|---|---|
| chromium | 95 | 28 | 400.3s / 402.4s | 46.9s / 47.3s |
| webkit | 69 | 8 | 158.1s / 158.5s | 7.4s / 7.5s |
Wall time fell by 89.8%. WebKit fell from 69 configured executions (nine known CDP skips) to eight actual passes: 151.0s less browser-block time (95.2%). WebKit's original block was 28.2% of baseline wall time. A block spans that project's first test start through last test end; it includes inter-case runner overhead, but excludes server startup. Case sums are not wall times. Wall time outside those browser blocks was 0.7s in the warmed baseline and 2.2s in the fresh routine run, including startup and runner transitions.
The baseline reused the existing warmed development server; routine starts its own offline server on port 5174. Routine wall time includes that startup. The comparisons include different provider dependency and selection, not merely browser speed. No parallelism experiment, default retries, new skips or timeout increases were used.
Routine metrics: 36 attachments, 232 external browser requests, all intercepted; 52 responses, all locally fulfilled iframe documents. There were 52 intercepted embed requests and four blocked server fetch attempts. No external route continued. Iframe requests and mock clock starts are not decoded YouTube frames or live playback starts.
- NSGIZ crop readiness: unchanged Chromium failed after 60.1s at the positive media/engine duration predicate. Its trace showed navigation in 26.6ms, successful iframe/thumbnail responses in roughly 0.2-0.3s, and 59.7s inside the readiness wait. The page still displayed an unknown duration. This identifies the stalled predicate, not the underlying provider/adapter cause; Chromium failed while WebKit passed in this baseline. The provider crop probe is advisory, with its assertions intact.
- Landscape preset: both baseline browsers passed this time. Its 30s
duration > 10wait was unrelated to the picker URL/selection contract and is deleted for all five presets. Routine uses the API fixture; live crop pixels and real durations are no longer required by those picker tests. - Watch gestures/Theater (19.7s): console-invoked native/provider interactions need live playback and have broad diagnostic scope. Downgraded to advisory.
- Native document-scroll journeys (10.9s/10.3s): many injected swipe sequences, explicit 30/50/300/400ms sleeps, playback waits, viewport transitions and reloads. Advisory; routine keeps independent settings scroll and responsive geometry, but does not reproduce momentum, runway growth or document swipe ownership.
- Precision/policy matrices (Chromium 8.4s, WebKit 10.2s; WebKit URL policies 8.0s): repeated dialog actions, six policy iterations, navigation/reload and provider startup. Advisory. Existing Node URL contracts plus one imported precision journey stay required; exhaustive DOM policy wiring can regress without a gate failure.
- Watch Loop/Once proofs (11.8s/10.9s): already mocked, with real-time advancement and multiple boundaries. Retained; source-end seeks now start one second before the boundary instead of four, and full-video scope starts beyond clip B before proving advancement. The same crossing/state assertions remain.
- Offline clipboard preview: first attempt failed because the fixture aborted its external thumbnail and the product correctly switched to unavailable preview. The test response now references local
logo.svg; the selected-title and deferred-commit assertions remain.
SSR metadata can consume its configured two-second deadline on each uncached source/navigation. Baseline timings include SSR and provider startup, but we did not instrument every successful case to assign exact fractions to each. The failed NSGIZ trace supports the readiness attribution above; other causes are source-level explanations, not measured timing decompositions. Offline SSR uses the existing metadata fallback instead of external fetches.
Focused repeat: the unchanged Chromium NSGIZ crop probe was failed in 60.1s (60.8s wall), with no retry. This isolated result does not replace the baseline's failure or establish that the expanded advisory suite is green.
Required Chromium: picker initial focus/history at desktop/mobile widths, all five preset commits, short-dialog scroll containment, Escape/composition, padded close touch target, clipboard preview, landing navigation; splitter pointer/keyboard, resize-before-frame behavior, responsive geometry/scroll and playback identity; imported precision/reload/edit, active-playback range-modal focus; pinned share-footer geometry; invalid routes and editor aliases/share/history; signed bounds/history, signed Loop/Once and repair under two flag sets; legacy /s Loop and canonical Once at clip/source ends.
Required WebKit: the two initial picker widths, short-dialog scroll containment, Escape/composition, padded close touch target, viewport resize during playback, mobile responsive geometry/scroll, and the mocked playback/provider identity journey. Eight executions, selected individually rather than whole-file duplication. WebKit does not repeat every Chromium URL or precision assertion.
All 128 omitted baseline executions are listed as advisory in the baseline ranking below, including the nine pre-existing WebKit skips. They remain runnable on demand; they are removed from the required gate rather than claimed as covered elsewhere. Detailed cosmetic/transport/tooltip matrices, source-title freshness, source replacement, mirror/crop-source detection, live seeks/buffering, provider focus/decoded pixels, native swipe/runway and toolbar simulations can regress without routine failure. Physical Safari toolbar/momentum/fullscreen remain manual. Product code and Node tests are unchanged.
CI now runs the complete routine selection, including the four existing offline API proofs. Hosting/social production smokes remain required. test:browser:advisory selects broader live coverage; no green expanded run is claimed after pruning. The obsolete extended/provider/UI commands are removed.
pnpm check (zero errors/warnings), pnpm lint, all 58 Node tests, the proof-enabled production build, seven hosting smokes and nine social smokes passed. Both final routine runs include the four offline Video.js API proofs. CI and preview deployment are recorded in the PR after push.
| Browser / file | Baseline executions / sum | Routine executions / sum |
|---|---|---|
| chromium / editor-polish.spec.ts | 14 / 52.7s | 2 / 5.8s |
| chromium / editor-workspace.spec.ts | 24 / 88.1s | 4 / 6.1s |
| chromium / framing.spec.ts | 9 / 83.5s | 0 / 0.0s |
| chromium / share-footer.spec.ts | 7 / 12.7s | 1 / 1.5s |
| chromium / share-routes.spec.ts | 14 / 77.1s | 2 / 3.7s |
| chromium / signed-ranges.spec.ts | 8 / 34.6s | 5 / 10.2s |
| chromium / video-picker.spec.ts | 15 / 15.4s | 12 / 7.2s |
| chromium / watch-playback-scope.spec.ts | 4 / 36.2s | 2 / 12.4s |
| webkit / editor-polish.spec.ts | 14 / 59.3s | 0 / 0.0s |
| webkit / editor-workspace.spec.ts | 24 / 41.7s | 3 / 4.7s |
| webkit / framing.spec.ts | 9 / 25.4s | 0 / 0.0s |
| webkit / share-footer.spec.ts | 7 / 14.9s | 0 / 0.0s |
| webkit / video-picker.spec.ts | 15 / 16.7s | 5 / 2.7s |
Each row is one browser execution, ordered by duration within its browser. Scenario paths distinguish viewport/flag matrices. Status is the actual run result; retries are shown explicitly.
| Browser | Seconds | Status | Retries | File / scenario | Gate disposition |
|---|---|---|---|---|---|
| chromium | 60.10 | fail | 0 | framing.spec.ts / mirror preserves crop fixture NSGIZbUbIWw | advisory |
| chromium | 19.72 | pass | 0 | share-routes.spec.ts / canonical watch gestures, mute/unmute, Theater and viewport regressions | advisory |
| chromium | 11.81 | pass | 0 | watch-playback-scope.spec.ts / selected scope obeys Loop with legacy routing at clip and video end | routine |
| chromium | 11.75 | pass | 0 | share-routes.spec.ts / Edit link preserves playback, provider identity, new tab and Back/Forward | advisory |
| chromium | 10.90 | pass | 0 | editor-workspace.spec.ts / automatic mobile document scrolling / 390x844 / video scrolls the document while settings, splitter and live provider stay independent | advisory |
| chromium | 10.87 | pass | 0 | watch-playback-scope.spec.ts / selected scope obeys Once at clip and video end | routine |
| chromium | 10.32 | pass | 0 | editor-workspace.spec.ts / automatic mobile document scrolling / 844x390 / video scrolls the document while settings, splitter and live provider stay independent | advisory |
| chromium | 9.05 | pass | 0 | framing.spec.ts / mirror watch/editor reload, history, false flags and source imports | advisory |
| chromium | 8.42 | pass | 0 | editor-polish.spec.ts / editor polish / generated precision agrees across policies, actual links, history and playback state | advisory |
| chromium | 8.17 | pass | 0 | share-routes.spec.ts / editor aliases, live state, canonical sharing, reload and Back/Forward | routine |
| chromium | 7.85 | pass | 0 | signed-ranges.spec.ts / invalid resolved and collapsed clips pause without rewriting their identity | advisory |
| chromium | 7.34 | pass | 0 | editor-polish.spec.ts / editor polish / imported high precision and signed intent survive viewing, reload and generated edits | routine |
| chromium | 6.79 | pass | 0 | watch-playback-scope.spec.ts / canonical scope switches preserve playback, URL and provider | advisory |
| chromium | 6.78 | pass | 0 | share-routes.spec.ts / new editor parameters win over aliases, seek/step/loop/once work with real YouTube | advisory |
| chromium | 6.77 | pass | 0 | watch-playback-scope.spec.ts / long, open-ended and complete clips select the right default, including source navigation | advisory |
| chromium | 6.57 | pass | 0 | editor-polish.spec.ts / editor polish / late metadata refreshes a read-only long title without requests or remounts | advisory |
| chromium | 6.48 | pass | 0 | editor-workspace.spec.ts / mobile pane scrolling / 844x390 / settings scroll independently; picture swipes scroll the document without changing playback at 844x390 | advisory |
| chromium | 5.69 | pass | 0 | signed-ranges.spec.ts / signed fractions survive watch/editor/copy/reload/history and explicit bound edits | routine |
| chromium | 5.66 | pass | 0 | editor-workspace.spec.ts / mobile pane scrolling / 390x844 / settings scroll independently; picture swipes scroll the document without changing playback at 390x844 | advisory |
| chromium | 5.48 | pass | 0 | share-routes.spec.ts / source changes and out-of-duration validation retain editor parity | advisory |
| chromium | 5.32 | pass | 0 | signed-ranges.spec.ts / invalid watch clips retain Edit and can be repaired: mute | routine |
| chromium | 4.96 | pass | 0 | editor-polish.spec.ts / editor polish / all live URL policies agree with the share link, preserve bounds and provider | advisory |
| chromium | 4.80 | pass | 0 | share-routes.spec.ts / existing editor geometry, orientation, provider focus and timeline suites | advisory |
| chromium | 4.31 | pass | 0 | signed-ranges.spec.ts / invalid watch clips retain Edit and can be repaired: once&mute&speed=1.5&vertical=0&fill=0 | routine |
| chromium | 4.30 | pass | 0 | editor-workspace.spec.ts / compact bounds retain signed fractions and refresh after source navigation | advisory |
| chromium | 4.25 | pass | 0 | editor-workspace.spec.ts / preview transport, branding and grouped layout fill desktop and mobile viewports | advisory |
| chromium | 4.24 | pass | 0 | editor-polish.spec.ts / editor polish / original YouTube source link keeps its displayed time and destination in sync | advisory |
| chromium | 4.17 | pass | 0 | editor-polish.spec.ts / editor polish / dialog source drafts, supported links, clipboard previews and title freshness | advisory |
| chromium | 4.09 | pass | 0 | editor-workspace.spec.ts / short controls 844x390 / fitting controls retain gesture ownership and provider identity | advisory |
| chromium | 4.00 | pass | 0 | editor-workspace.spec.ts / short controls 390x844 / fitting controls retain gesture ownership and provider identity | advisory |
| chromium | 3.94 | pass | 0 | signed-ranges.spec.ts / signed range obeys Loop at resolved B | routine |
| chromium | 3.94 | pass | 0 | share-routes.spec.ts / watch Fit/Fill and source geometry at 390x844 | advisory |
| chromium | 3.90 | pass | 0 | video-picker.spec.ts / candidate metadata is debounced, stale-safe, optional, and never commits playback | advisory |
| chromium | 3.82 | pass | 0 | signed-ranges.spec.ts / signed range obeys Once at resolved B | routine |
| chromium | 3.71 | pass | 0 | share-routes.spec.ts / open end survives duration settlement and reload: /dt-SqNL4z3w/31?fill=0 | advisory |
| chromium | 3.71 | pass | 0 | share-routes.spec.ts / watch Fit/Fill and source geometry at 844x390 | advisory |
| chromium | 3.20 | pass | 0 | share-routes.spec.ts / open end survives duration settlement and reload: /s?v=dt-SqNL4z3w&a=31&b=99999&fit=contain | advisory |
| chromium | 3.13 | pass | 0 | framing.spec.ts / three-state overrides, Auto and independent crop at 1280px | advisory |
| chromium | 3.05 | pass | 0 | editor-workspace.spec.ts / session preferences restore, reconcile on resize, reset and stay out of share URLs | advisory |
| chromium | 2.94 | pass | 0 | editor-workspace.spec.ts / upper-right tooltips fit inside the preview at narrow and wide sizes | advisory |
| chromium | 2.86 | pass | 0 | editor-workspace.spec.ts / pointer and keyboard splitter bounds, capture cleanup, axes and reset | routine |
| chromium | 2.83 | pass | 0 | editor-workspace.spec.ts / mobile pane scrolling / 844x390 / touch splitter owns both drag directions without document scrolling at 844x390 | advisory |
| chromium | 2.82 | pass | 0 | editor-workspace.spec.ts / responsive preview, independent scrolling and Fit/Fill across mobile viewports | routine |
| chromium | 2.82 | pass | 0 | editor-workspace.spec.ts / mobile pane scrolling / 390x844 / touch splitter owns both drag directions without document scrolling at 390x844 | advisory |
| chromium | 2.67 | pass | 0 | editor-polish.spec.ts / editor polish / pane-responsive transport is stable, synchronized, accessible, and retains media | advisory |
| chromium | 2.59 | pass | 0 | editor-polish.spec.ts / editor polish / fieldset actions align with titles, share responsive pencil styling, and dismiss the range dialog safely | advisory |
| chromium | 2.45 | pass | 0 | editor-workspace.spec.ts / viewport resize commits the new axis before animation frames without interrupting playback | routine |
| chromium | 2.44 | pass | 0 | framing.spec.ts / three-state overrides, Auto and independent crop at 320px | advisory |
| chromium | 2.44 | pass | 0 | editor-workspace.spec.ts / named bound actions respect precision, retain Once, and share direct speed state | advisory |
| chromium | 2.39 | pass | 0 | share-routes.spec.ts / Edit layout across viewports, fullscreen=false | advisory |
| chromium | 2.37 | pass | 0 | share-routes.spec.ts / Edit layout across viewports, fullscreen=true | advisory |
| chromium | 2.25 | pass | 0 | editor-polish.spec.ts / editor polish / two-decimal drafts preserve incoming precision until an explicit edit | advisory |
| chromium | 2.24 | pass | 0 | framing.spec.ts / three-state overrides, Auto and independent crop at 390px | advisory |
| chromium | 2.23 | pass | 0 | editor-workspace.spec.ts / layout stays in the upper-right beside mode action without reserving height through resize, reflow and settings scroll | advisory |
| chromium | 2.19 | pass | 0 | share-footer.spec.ts / native link supports focus, context menu, new tab and keyboard navigation | advisory |
| chromium | 2.17 | pass | 0 | editor-workspace.spec.ts / form leads in columns; video leads in rows | advisory |
| chromium | 2.17 | pass | 0 | editor-polish.spec.ts / editor polish / fractional presentation, unchanged drafts, signed edits, safe blur and repair | advisory |
| chromium | 2.15 | pass | 0 | share-footer.spec.ts / footer stays pinned through scroll, narrow widths, layouts and splitter changes | routine |
| chromium | 2.11 | pass | 0 | editor-polish.spec.ts / editor polish / read-only range, modal focus and narrow layout preserve exact bounds and active playback | routine |
| chromium | 2.09 | pass | 0 | signed-ranges.spec.ts / same-source range navigation preserves provider and restores bounds on Back: clip | advisory |
| chromium | 2.06 | pass | 0 | framing.spec.ts / mirror preserves crop fixture b90IRPG5UZs | advisory |
| chromium | 2.06 | pass | 0 | share-footer.spec.ts / mobile footer 390x844 / native picture scroll keeps footer and controls independent | advisory |
| chromium | 2.06 | pass | 0 | editor-workspace.spec.ts / workspace stays usable with stale session storage | advisory |
| chromium | 2.05 | pass | 0 | editor-workspace.spec.ts / destination layout icon, tooltip and name follow keyboard switches and responsive constraints | advisory |
| chromium | 1.99 | pass | 0 | editor-polish.spec.ts / editor polish / compact settings align pills and switches, preserve precise drafts, and fill the transport | advisory |
| chromium | 1.99 | pass | 0 | editor-workspace.spec.ts / layout action accepts touch and reset lives only in settings | advisory |
| chromium | 1.97 | pass | 0 | framing.spec.ts / mirrored watch media survives resize, Theater and available fullscreen | advisory |
| chromium | 1.97 | pass | 0 | editor-workspace.spec.ts / touch capture and cancellation clean up without changing provider identity | advisory |
| chromium | 1.87 | pass | 0 | video-picker.spec.ts / dialog cancel preserves live media, bounds, title and splitter | advisory |
| chromium | 1.86 | pass | 0 | editor-workspace.spec.ts / workspace stays usable with blocked session storage | advisory |
| chromium | 1.81 | pass | 0 | framing.spec.ts / mirror preserves playing, paused and seeking media with unreflected controls | advisory |
| chromium | 1.77 | pass | 0 | editor-polish.spec.ts / editor polish / signed range edits, open end and Back/Forward refresh the read-only summary | advisory |
| chromium | 1.64 | pass | 0 | share-footer.spec.ts / loading, invalid bounds and player errors use a non-clickable fallback | advisory |
| chromium | 1.61 | pass | 0 | signed-ranges.spec.ts / same-source range navigation preserves provider and restores bounds on Back: video | advisory |
| chromium | 1.59 | pass | 0 | share-footer.spec.ts / toolbar reserve at 390x844 / footer follows simulated toolbar collapse without moving the preview or scroll | advisory |
| chromium | 1.58 | pass | 0 | share-footer.spec.ts / toolbar reserve at 390x568 / footer follows simulated toolbar collapse without moving the preview or scroll | advisory |
| chromium | 1.54 | pass | 0 | editor-workspace.spec.ts / playing YouTube provider and clip survive resize, layout, scroll and responsive reflow | routine |
| chromium | 1.50 | pass | 0 | share-footer.spec.ts / mobile footer 844x390 / native picture scroll keeps footer and controls independent | advisory |
| chromium | 1.50 | pass | 0 | editor-polish.spec.ts / editor polish / duration-relative A links to the resolved absolute YouTube time | advisory |
| chromium | 1.30 | pass | 0 | video-picker.spec.ts / clipboard preview does not commit until Load | routine |
| chromium | 1.23 | pass | 0 | video-picker.spec.ts / preset Basic A:B loop commits canonical state and reloads | routine |
| chromium | 1.08 | pass | 0 | video-picker.spec.ts / preset Native portrait commits canonical state | routine |
| chromium | 1.08 | pass | 0 | video-picker.spec.ts / preset Landscape crop commits canonical state | routine |
| chromium | 1.08 | pass | 0 | video-picker.spec.ts / preset Advanced timing commits canonical state | routine |
| chromium | 1.04 | pass | 0 | video-picker.spec.ts / preset Portrait crop commits canonical state | routine |
| chromium | 0.70 | pass | 0 | framing.spec.ts / pending detection survives Orientation Auto without duplicate requests | advisory |
| chromium | 0.53 | pass | 0 | share-routes.spec.ts / benign root queries retain the empty editor and generic metadata | advisory |
| chromium | 0.52 | pass | 0 | share-routes.spec.ts / bare root stays generic; malformed and reserved routes are safe | routine |
| chromium | 0.46 | pass | 0 | video-picker.spec.ts / empty root and first-open picker at 390px | routine |
| chromium | 0.46 | pass | 0 | video-picker.spec.ts / empty root and first-open picker at 1280px | routine |
| chromium | 0.39 | pass | 0 | video-picker.spec.ts / dialog whitespace is inert, actual backdrop dismisses, and links fit their visible text | advisory |
| chromium | 0.39 | pass | 0 | video-picker.spec.ts / landing cards expose every preset and directly open a canonical editor clip | routine |
| chromium | 0.37 | pass | 0 | video-picker.spec.ts / short preview keeps all examples reachable and dialog contains scroll through rotation | routine |
| chromium | 0.37 | pass | 0 | video-picker.spec.ts / one Escape wins over input blur handlers and respects composition | routine |
| chromium | 0.32 | pass | 0 | video-picker.spec.ts / invisible touch targets / X closes when tapped outside its visible icon | routine |
| webkit | 10.22 | pass | 0 | editor-polish.spec.ts / editor polish / generated precision agrees across policies, actual links, history and playback state | advisory |
| webkit | 9.89 | pass | 0 | framing.spec.ts / mirror watch/editor reload, history, false flags and source imports | advisory |
| webkit | 7.95 | pass | 0 | editor-polish.spec.ts / editor polish / all live URL policies agree with the share link, preserve bounds and provider | advisory |
| webkit | 6.87 | pass | 0 | editor-polish.spec.ts / editor polish / imported high precision and signed intent survive viewing, reload and generated edits | advisory |
| webkit | 6.71 | pass | 0 | editor-polish.spec.ts / editor polish / late metadata refreshes a read-only long title without requests or remounts | advisory |
| webkit | 5.14 | pass | 0 | editor-workspace.spec.ts / preview transport, branding and grouped layout fill desktop and mobile viewports | advisory |
| webkit | 3.93 | pass | 0 | video-picker.spec.ts / candidate metadata is debounced, stale-safe, optional, and never commits playback | advisory |
| webkit | 3.80 | pass | 0 | editor-polish.spec.ts / editor polish / dialog source drafts, supported links, clipboard previews and title freshness | advisory |
| webkit | 3.73 | pass | 0 | editor-workspace.spec.ts / compact bounds retain signed fractions and refresh after source navigation | advisory |
| webkit | 3.49 | pass | 0 | editor-workspace.spec.ts / responsive preview, independent scrolling and Fit/Fill across mobile viewports | routine |
| webkit | 3.46 | pass | 0 | editor-polish.spec.ts / editor polish / pane-responsive transport is stable, synchronized, accessible, and retains media | advisory |
| webkit | 3.41 | pass | 0 | editor-polish.spec.ts / editor polish / original YouTube source link keeps its displayed time and destination in sync | advisory |
| webkit | 3.26 | pass | 0 | share-footer.spec.ts / footer stays pinned through scroll, narrow widths, layouts and splitter changes | advisory |
| webkit | 3.05 | pass | 0 | editor-workspace.spec.ts / upper-right tooltips fit inside the preview at narrow and wide sizes | advisory |
| webkit | 3.03 | pass | 0 | editor-workspace.spec.ts / session preferences restore, reconcile on resize, reset and stay out of share URLs | advisory |
| webkit | 2.92 | pass | 0 | editor-workspace.spec.ts / viewport resize commits the new axis before animation frames without interrupting playback | routine |
| webkit | 2.92 | pass | 0 | editor-polish.spec.ts / editor polish / fractional presentation, unchanged drafts, signed edits, safe blur and repair | advisory |
| webkit | 2.88 | pass | 0 | editor-polish.spec.ts / editor polish / fieldset actions align with titles, share responsive pencil styling, and dismiss the range dialog safely | advisory |
| webkit | 2.74 | pass | 0 | editor-workspace.spec.ts / named bound actions respect precision, retain Once, and share direct speed state | advisory |
| webkit | 2.73 | pass | 0 | editor-polish.spec.ts / editor polish / compact settings align pills and switches, preserve precise drafts, and fill the transport | advisory |
| webkit | 2.68 | pass | 0 | editor-workspace.spec.ts / layout stays in the upper-right beside mode action without reserving height through resize, reflow and settings scroll | advisory |
| webkit | 2.65 | pass | 0 | framing.spec.ts / three-state overrides, Auto and independent crop at 320px | advisory |
| webkit | 2.63 | pass | 0 | editor-workspace.spec.ts / destination layout icon, tooltip and name follow keyboard switches and responsive constraints | advisory |
| webkit | 2.59 | pass | 0 | editor-workspace.spec.ts / layout action accepts touch and reset lives only in settings | advisory |
| webkit | 2.52 | pass | 0 | editor-workspace.spec.ts / pointer and keyboard splitter bounds, capture cleanup, axes and reset | advisory |
| webkit | 2.50 | pass | 0 | framing.spec.ts / three-state overrides, Auto and independent crop at 1280px | advisory |
| webkit | 2.34 | pass | 0 | framing.spec.ts / three-state overrides, Auto and independent crop at 390px | advisory |
| webkit | 2.32 | pass | 0 | framing.spec.ts / mirrored watch media survives resize, Theater and available fullscreen | advisory |
| webkit | 2.31 | pass | 0 | editor-polish.spec.ts / editor polish / signed range edits, open end and Back/Forward refresh the read-only summary | advisory |
| webkit | 2.31 | pass | 0 | editor-polish.spec.ts / editor polish / two-decimal drafts preserve incoming precision until an explicit edit | advisory |
| webkit | 2.28 | pass | 0 | share-footer.spec.ts / toolbar reserve at 390x844 / footer follows simulated toolbar collapse without moving the preview or scroll | advisory |
| webkit | 2.27 | pass | 0 | framing.spec.ts / mirror preserves playing, paused and seeking media with unreflected controls | advisory |
| webkit | 2.26 | pass | 0 | share-footer.spec.ts / toolbar reserve at 390x568 / footer follows simulated toolbar collapse without moving the preview or scroll | advisory |
| webkit | 2.19 | pass | 0 | editor-polish.spec.ts / editor polish / read-only range, modal focus and narrow layout preserve exact bounds and active playback | advisory |
| webkit | 2.17 | pass | 0 | video-picker.spec.ts / dialog cancel preserves live media, bounds, title and splitter | advisory |
| webkit | 2.10 | pass | 0 | share-footer.spec.ts / mobile footer 390x844 / native picture scroll keeps footer and controls independent | advisory |
| webkit | 2.07 | pass | 0 | editor-workspace.spec.ts / form leads in columns; video leads in rows | advisory |
| webkit | 2.04 | pass | 0 | editor-workspace.spec.ts / workspace stays usable with blocked session storage | advisory |
| webkit | 1.90 | pass | 0 | editor-workspace.spec.ts / workspace stays usable with stale session storage | advisory |
| webkit | 1.81 | pass | 0 | share-footer.spec.ts / native link supports focus, context menu, new tab and keyboard navigation | advisory |
| webkit | 1.68 | pass | 0 | share-footer.spec.ts / loading, invalid bounds and player errors use a non-clickable fallback | advisory |
| webkit | 1.55 | pass | 0 | share-footer.spec.ts / mobile footer 844x390 / native picture scroll keeps footer and controls independent | advisory |
| webkit | 1.52 | pass | 0 | editor-polish.spec.ts / editor polish / duration-relative A links to the resolved absolute YouTube time | advisory |
| webkit | 1.39 | pass | 0 | video-picker.spec.ts / preset Basic A:B loop commits canonical state and reloads | advisory |
| webkit | 1.37 | pass | 0 | framing.spec.ts / mirror preserves crop fixture NSGIZbUbIWw | advisory |
| webkit | 1.37 | pass | 0 | video-picker.spec.ts / preset Advanced timing commits canonical state | advisory |
| webkit | 1.35 | pass | 0 | framing.spec.ts / mirror preserves crop fixture b90IRPG5UZs | advisory |
| webkit | 1.27 | pass | 0 | video-picker.spec.ts / preset Portrait crop commits canonical state | advisory |
| webkit | 1.26 | pass | 0 | video-picker.spec.ts / clipboard preview does not commit until Load | advisory |
| webkit | 1.23 | pass | 0 | video-picker.spec.ts / preset Landscape crop commits canonical state | advisory |
| webkit | 1.23 | pass | 0 | editor-workspace.spec.ts / playing YouTube provider and clip survive resize, layout, scroll and responsive reflow | routine |
| webkit | 1.11 | pass | 0 | video-picker.spec.ts / preset Native portrait commits canonical state | advisory |
| webkit | 0.73 | pass | 0 | framing.spec.ts / pending detection survives Orientation Auto without duplicate requests | advisory |
| webkit | 0.53 | pass | 0 | video-picker.spec.ts / empty root and first-open picker at 1280px | routine |
| webkit | 0.52 | pass | 0 | video-picker.spec.ts / empty root and first-open picker at 390px | routine |
| webkit | 0.43 | pass | 0 | video-picker.spec.ts / dialog whitespace is inert, actual backdrop dismisses, and links fit their visible text | advisory |
| webkit | 0.39 | pass | 0 | video-picker.spec.ts / one Escape wins over input blur handlers and respects composition | routine |
| webkit | 0.39 | pass | 0 | video-picker.spec.ts / landing cards expose every preset and directly open a canonical editor clip | advisory |
| webkit | 0.36 | pass | 0 | video-picker.spec.ts / short preview keeps all examples reachable and dialog contains scroll through rotation | routine |
| webkit | 0.32 | pass | 0 | video-picker.spec.ts / invisible touch targets / X closes when tapped outside its visible icon | routine |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / touch capture and cancellation clean up without changing provider identity | advisory |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / mobile pane scrolling / 390x844 / touch splitter owns both drag directions without document scrolling at 390x844 | advisory |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / mobile pane scrolling / 844x390 / touch splitter owns both drag directions without document scrolling at 844x390 | advisory |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / mobile pane scrolling / 390x844 / settings scroll independently; picture swipes scroll the document without changing playback at 390x844 | advisory |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / mobile pane scrolling / 844x390 / settings scroll independently; picture swipes scroll the document without changing playback at 844x390 | advisory |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / automatic mobile document scrolling / 390x844 / video scrolls the document while settings, splitter and live provider stay independent | advisory |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / automatic mobile document scrolling / 844x390 / video scrolls the document while settings, splitter and live provider stay independent | advisory |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / short controls 390x844 / fitting controls retain gesture ownership and provider identity | advisory |
| webkit | 0.00 | skip | 0 | editor-workspace.spec.ts / short controls 844x390 / fitting controls retain gesture ownership and provider identity | advisory |
Each row is one browser execution, ordered by duration within its browser. Scenario paths distinguish viewport/flag matrices. Status is the actual run result; retries are shown explicitly.
| Browser | Seconds | Status | Retries | File / scenario | Gate disposition |
|---|---|---|---|---|---|
| chromium | 6.66 | pass | 0 | watch-playback-scope.spec.ts / selected scope obeys Loop with legacy routing at clip and video end | routine |
| chromium | 5.77 | pass | 0 | watch-playback-scope.spec.ts / selected scope obeys Once at clip and video end | routine |
| chromium | 4.22 | pass | 0 | editor-polish.spec.ts / editor polish / imported high precision and signed intent survive viewing, reload and generated edits | routine |
| chromium | 3.27 | pass | 0 | signed-ranges.spec.ts / signed fractions survive watch/editor/copy/reload/history and explicit bound edits | routine |
| chromium | 3.25 | pass | 0 | share-routes.spec.ts / editor aliases, live state, canonical sharing, reload and Back/Forward | routine |
| chromium | 1.93 | pass | 0 | signed-ranges.spec.ts / signed range obeys Loop at resolved B | routine |
| chromium | 1.92 | pass | 0 | signed-ranges.spec.ts / signed range obeys Once at resolved B | routine |
| chromium | 1.78 | pass | 0 | editor-workspace.spec.ts / responsive preview, independent scrolling and Fit/Fill across mobile viewports | routine |
| chromium | 1.62 | pass | 0 | editor-workspace.spec.ts / playing YouTube provider and clip survive resize, layout, scroll and responsive reflow | routine |
| chromium | 1.55 | pass | 0 | editor-polish.spec.ts / editor polish / read-only range, modal focus and narrow layout preserve exact bounds and active playback | routine |
| chromium | 1.54 | pass | 0 | signed-ranges.spec.ts / invalid watch clips retain Edit and can be repaired: mute | routine |
| chromium | 1.54 | pass | 0 | signed-ranges.spec.ts / invalid watch clips retain Edit and can be repaired: once&mute&speed=1.5&vertical=0&fill=0 | routine |
| chromium | 1.51 | pass | 0 | share-footer.spec.ts / footer stays pinned through scroll, narrow widths, layouts and splitter changes | routine |
| chromium | 1.39 | pass | 0 | editor-workspace.spec.ts / pointer and keyboard splitter bounds, capture cleanup, axes and reset | routine |
| chromium | 1.36 | pass | 0 | video-picker.spec.ts / clipboard preview does not commit until Load | routine |
| chromium | 1.30 | pass | 0 | editor-workspace.spec.ts / viewport resize commits the new axis before animation frames without interrupting playback | routine |
| chromium | 0.66 | pass | 0 | video-picker.spec.ts / preset Basic A:B loop commits canonical state and reloads | routine |
| chromium | 0.63 | pass | 0 | video-picker.spec.ts / empty root and first-open picker at 390px | routine |
| chromium | 0.63 | pass | 0 | video-picker.spec.ts / empty root and first-open picker at 1280px | routine |
| chromium | 0.53 | pass | 0 | video-picker.spec.ts / preset Advanced timing commits canonical state | routine |
| chromium | 0.53 | pass | 0 | video-picker.spec.ts / preset Portrait crop commits canonical state | routine |
| chromium | 0.52 | pass | 0 | video-picker.spec.ts / preset Native portrait commits canonical state | routine |
| chromium | 0.52 | pass | 0 | video-picker.spec.ts / preset Landscape crop commits canonical state | routine |
| chromium | 0.50 | pass | 0 | video-picker.spec.ts / one Escape wins over input blur handlers and respects composition | routine |
| chromium | 0.47 | pass | 0 | video-picker.spec.ts / landing cards expose every preset and directly open a canonical editor clip | routine |
| chromium | 0.45 | pass | 0 | video-picker.spec.ts / invisible touch targets / X closes when tapped outside its visible icon | routine |
| chromium | 0.43 | pass | 0 | share-routes.spec.ts / bare root stays generic; malformed and reserved routes are safe | routine |
| chromium | 0.42 | pass | 0 | video-picker.spec.ts / short preview keeps all examples reachable and dialog contains scroll through rotation | routine |
| webkit | 1.82 | pass | 0 | editor-workspace.spec.ts / responsive preview, independent scrolling and Fit/Fill across mobile viewports | routine |
| webkit | 1.48 | pass | 0 | editor-workspace.spec.ts / viewport resize commits the new axis before animation frames without interrupting playback | routine |
| webkit | 1.35 | pass | 0 | editor-workspace.spec.ts / playing YouTube provider and clip survive resize, layout, scroll and responsive reflow | routine |
| webkit | 0.68 | pass | 0 | video-picker.spec.ts / empty root and first-open picker at 1280px | routine |
| webkit | 0.63 | pass | 0 | video-picker.spec.ts / empty root and first-open picker at 390px | routine |
| webkit | 0.54 | pass | 0 | video-picker.spec.ts / one Escape wins over input blur handlers and respects composition | routine |
| webkit | 0.45 | pass | 0 | video-picker.spec.ts / invisible touch targets / X closes when tapped outside its visible icon | routine |
| webkit | 0.40 | pass | 0 | video-picker.spec.ts / short preview keeps all examples reachable and dialog contains scroll through rotation | routine |