# Deployment-target performance matrix — 2026-09-07

This deployment-target snapshot combines the campaign evidence declared in `sources.json`.
`e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3` is the measured product commit. Every normalized result
retains its target, mode, commit, and declared evidence state; focused action captures, when
present, replace only their declared scenarios within that mode, and only alongside a full sweep at
the same product commit.

The [interactive matrix](./index.html) is the quickest comparison. [`data.json`](./data.json)
contains every normalized drawing run and grouped action result, and
[`sources.json`](./sources.json) records the ordered source campaign.

Regenerate the JSON, Markdown, and HTML after updating the source manifest with:

```sh
npm run gen:performance-matrix -- \
  scrapbook/performance/2026-07-31-deployment-target-matrix/sources.json
```

## Acceptance gates

Drawing passes at paint P95 ≤ 20 ms, P99 ≤ 33 ms, max ≤ 50 ms, and cumulative lost frame time ≤ 1%
of in-contact time. Undo passes at engine P95 ≤ 20 ms, next-frame P95 ≤ 33 ms, and next-frame max ≤
50 ms. A discrete action passes at first-frame P95 ≤ 33.5 ms, post-action frame P95 ≤ 20 ms, and
post-action frame max ≤ 33.5 ms, a max breach counting only when 2 of the three scored repeats show
it (ADR-0156); a cell over the max in one repeat passes, is rendered as an unconfirmed warning, and
is listed beside the failures with its max. Readiness P95 is reported separately because its
completion semantics and transport polling resolution differ by action; a frame-gate pass is not
evidence that an optimization preserved end-to-end response time. Rotation first frames on iPad
Safari are not applicable rather than gated: under ADR-0142's `resize` anchor the value reads 0–2 ms
by construction there, so those cells render N/A and rotation is scored by the post-action frame
gates alone.

Cells held to a different lost-frame budget, and why (ADR-0137):

* **Crayon on `ipad-device-web`** — 1.5%. Crayon deposits wax through pattern-filled strokes that
  Safari prices per path-length, so the web build cannot merge them across pointermoves (the native
  WKWebView prices per op and merges per frame instead — ADR-0137 as amended), so it pays a per-move
  cost every other brush coalesces away, and mirror-by-blit already took it from 2.11%. Across all
  four orientation/theme modes its median is 1.11-1.17%, but a single capture of landscape-light
  measured 1.40% and re-measured to 1.17% over three samples. A matrix cell IS a single capture, so
  this is set above the observed single-sample excursion rather than above the median.
* **Crayon on `ipad-device-native`** — 1.5%. Per-frame crayon op merging (ADR-0137 as amended,
  issue 1236) brought the native WKWebView from a 2.14% published cell to Safari parity: three
  same-session samples on 2026-08-25 measured 0.96/1.11/1.44%, median 1.11% — inside the web cell's
  own 1.11-1.17% median band with the same shape of single-sample excursion. The same residual
  per-move wax cost now binds both runtimes, so the same 1.5% single-capture budget applies, set by
  the same above-the-excursion rule.

Actions on `ipad-device-web` held to a measured allowance instead of the base post-action gates, and
why (ADR-0090, ADR-0160); every target without a ledger scores them at the base gates:

* **open Settings** — post-action P95 ≤ 29 ms. Worst committed P95 28 ms
  (perf-profiles/evidence/2026-09-05-epic-1567-advanced-controls-certification, landscape/dark at
  ebc7673b), 27 ms in six further September 2026 captures across three modes at 3c017796, 9af487b3
  and e5142fab, 20-26 ms in eleven more. The pane is prewarmed (ADR-0049 amendment) and its open
  still carries the showModal flip and the heaviest section reveal; Instruments aligns the remaining
  slow frames with animation completion, compositing-hierarchy changes, layer removal and paint, and
  the bounded `contain: layout paint` candidate measured negative. Raised from the 26 ms of ADR-0090
  under ADR-0160.
* **close Settings** — post-action P95 ≤ 22 ms. Worst committed P95 21 ms in three captures
  (perf-profiles/evidence/2026-09-05-epic-1567-ipad-e514-control landscape/light and landscape/dark;
  2026-09-05-epic-1567-ipad-paper-control portrait/light), 17-20 ms in fifteen others. The same
  dialog retirement over a full-screen paper layer as the coloring picker; it carries no dedicated
  trace, so ADR-0160 records the attribution as shared and the reopen condition as its own.
* **select coloring page** — post-action P95 ≤ 30 ms. Worst committed P95 29 ms
  (perf-profiles/evidence/2026-09-05-epic-1567-landscape-retirement-controls, landscape/dark at
  e5142fab), 26-28 ms in eight further captures, portrait/light green at 17. The 29 ms frame sampled
  in Instruments is GPU-process IOSurface pool eviction, surface creation and Metal submission with
  no app evaluation in-frame; seven bounded product mechanisms measured negative or insufficient
  (issue 1569, 2026-09-06 disposition).
* **switch light theme to dark** — post-action P95 ≤ 23 ms. Worst committed P95 22 ms
  (perf-profiles/evidence/2026-09-05-epic-1567-ipad-e514-control, portrait/light), 17 ms in fifteen
  other captures. A single-capture excursion sized by ADR-0137 worst-single-capture rule: the
  full-document restyle recomposites every layer in one frame (ADR-0087).
* **with ink: PORTRAIT to LANDSCAPE rotation** — post-action P95 ≤ 26 ms. Worst committed P95 25 ms
  in two captures (perf-profiles/evidence/2026-09-05-epic-1567-ipad-paper-control, portrait/light at
  141288da), 22-24 ms in four others; the landscape-origin direction reads 17-18. The slow frame is
  the first full post-resize interval of the OS rotation; the aligned trace holds GPU surface-pool
  eviction and command submission beside WebContent layout, and paper-sheet compositor pre-promotion
  measured negative. Supersedes ADR-0156 decision 5 for this direction only; the 33.5 ms max gate
  stays.
* **open Settings** — post-action max ≤ 56 ms. Capture-environment allowance (issue 1130, ADR-0090
  2026-08-26 amendment): every hitch under the 44-55 ms open-Settings frame lands on the automation
  overlay stack with zero WebContent hitches, but the trace attributes per layer and the real-finger
  control was confounded by the persistent AutomationModeUI overlay. Covers the observed three-beat
  frame plus jitter; a clean-device control that still shows the frame retires it.

Actions on `android-device-web` held to a measured allowance instead of the base post-action gates,
and why (ADR-0162); every target without a ledger scores them at the base gates:

* **disable Night Mode in the compact shell** — post-action P95 ≤ 33.5 ms. Worst committed P95 33.4
  ms (perf-profiles/evidence/2026-09-06-issue-1696-android-night-toggle, landscape/dark full-plan
  control at f42d0994, two beats in all three scored repeats), 33.3 ms in the e5142fab row capture
  (perf-profiles/evidence/2026-09-06-epic-1567-android-device-web-e514, landscape/dark) and once in
  landscape/light (perf-profiles/evidence/2026-09-05-epic-1567-night-mode-control-trace at
  a9438fc7); 16.7-17.1 ms in ten other captures of the same cell. The paired Chrome trace
  (issue 1696) puts the click's input task at 26-39 ms on CrRendererMain in every repeat — 9-12 ms
  of dispatch and a 9.5-14.7 ms whole-document style recalc for the theme token flip that the
  bounded closed-dialog treatment (PR 1702) did not move — with a DroppedFrame at the first
  BeginFrame after every click. One 0.1 ms clock quantum above the worst reading and equal to the
  max gate, so a P95 past it needs three over-gate gaps: spread across repeats the max gate confirms
  them, concentrated in one repeat this allowance alone fails them.

## Capture limitations

* This fold measures product commit e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3, the commit at which
  all four physical release-gate rows were captured between 2026-09-05 and 2026-09-07 (physical iPad
  web via issue 1686, physical iPad native and Android web via PR 1689, physical Android native in
  this fold). The three engine commits main took after e5142fab are not measured here: the strict
  staleness check reports every captured row STALE against main and current against e5142fab, so
  this is a coherent single-commit snapshot, not a measurement of current main.
* All four orientation/theme modes were freshly captured for physical iPad web, physical iPad
  native, physical Android web, and physical Android native. Every drawing, undo, and action section
  on those four release-gate rows comes from the campaign product commit.
* The physical Android native row is two sequential builds of the same clean commit: a probe-host
  server.url build carries the ADR-0135 split drawing and undo transport, and a bundled
  https://localhost build carries the Appium action sweep. Both embed
  e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3; the split artifacts record pageIdentity unprovable by
  construction because the fixed server.url carries no per-cell nonce.
* Every physical drawing and undo cell passed its input-fidelity gate. The ten iPad web pen, Magic,
  and eraser lost-frame-share reds (1.02-1.37% against the 1% budget) are the issue-1693 budget
  decision; the remaining scoreable reds are three discrete actions tracked by issues 1694 and 1695.
  The physical Android native row carries no red cell.
* The physical iPad web row is the calibrated Safari approval target. ADR-0156 also requires the
  physical iPad native and both physical Android rows to be current and scored before campaign
  completion; every one is current here.
* Simulator, emulator, and Mac rows were not recaptured in this physical release-gate campaign.
  Every section on those rows is explicitly preserved from the prior published report and makes no
  claim of currency at the final product commit.
* Action cells are scored under ADR-0156: a post-action max breach counts only when two of the three
  scored repeats show it; a single breaching repeat is recorded as unconfirmed rather than red. Read
  each artifact's scoredActionFrameGaps rather than treating the pooled P95/P99/max triple as three
  repeats.
* Android physical web and native drawing use the ADR-0135 split input/measurement transport. Fresh
  artifacts record driving cadence, input fidelity, refresh regime, and page identity. Split-native
  captures also attest that art.splotch.app was the foreground package.
* The ADR-0143 60 Hz refresh-rate override keys were verified absent on the physical Android phone
  before and after its captures; every Android drawing artifact matched the declared 120 Hz regime.
* The campaign accepted every faithful red drawing or action gate and did not rerun a valid result
  to turn it green. Retries were reserved for transport, readiness, input-fidelity, and
  unchanged-canvas failures.
* Physical iPad capture needs a root-owned RemoteXPC tunnel before iOS 26 XCUITest discovery sees
  the device. See docs/PROFILING-IPAD.md.
* A landscape phone renders the compact Settings shell, which offers quick toggles and a pointer to
  portrait instead of the section list. Compare action modes against the same recorded
  settingsShell; a different label set between portrait and landscape is a shell difference, not a
  regression.
* Firefox is Gecko, which no Splotch deployment target ships; read it as the third desktop browser a
  parent might open splotch.art in, never as evidence about WebKit or Blink.
* Desktop captures used exact 1366×915 or 915×1366 CSS viewports at DPR 2 — iPad Pro 12.9 geometry,
  so the canvas area matches the physical-iPad rows. Playwright retains the requested page viewport
  regardless of the browser window size.
* Raw perf-profiles are local scratch and are mostly untracked. ADR-0138 keeps representative whole
  captures under perf-profiles/evidence/; every section not promoted from this campaign is marked
  preserved before the strict regeneration.
* 28 cells carry historical results preserved from data.json rather than re-read raw captures: The
  2026-09-05 campaign freshly captured every physical release-gate section and preserves all
  advisory iPad Simulator, Android Emulator, and Mac desktop rows wholesale. No physical section is
  preserved. The 28 preserved advisory modes retain their original product commits and do not claim
  currency. Representative fresh physical evidence is promoted under
  perf-profiles/evidence/2026-09-05-epic-1567-final-control/. Preserved cells: iPad simulator · web
  · portrait-light (drawing, undo, actions); iPad simulator · web · portrait-dark (drawing, undo,
  actions); iPad simulator · web · landscape-light (drawing, undo, actions); iPad simulator · web ·
  landscape-dark (drawing, undo, actions); iPad simulator · native · portrait-light (drawing, undo,
  actions); iPad simulator · native · portrait-dark (drawing, undo, actions); iPad simulator ·
  native · landscape-light (drawing, undo, actions); iPad simulator · native · landscape-dark
  (drawing, undo, actions); Android emulator · web · portrait-light (drawing, undo, actions);
  Android emulator · web · portrait-dark (drawing, undo, actions); Android emulator · web ·
  landscape-light (drawing, undo, actions); Android emulator · web · landscape-dark (drawing, undo,
  actions); Android emulator · native · portrait-light (drawing, undo, actions); Android emulator ·
  native · portrait-dark (drawing, undo, actions); Android emulator · native · landscape-light
  (drawing, undo, actions); Android emulator · native · landscape-dark (drawing, undo, actions); Mac
  · Chrome · portrait-light (drawing, undo, actions); Mac · Chrome · portrait-dark (drawing, undo,
  actions); Mac · Chrome · landscape-light (drawing, undo, actions); Mac · Chrome · landscape-dark
  (drawing, undo, actions); Mac · Safari · portrait-light (drawing, undo, actions); Mac · Safari ·
  portrait-dark (drawing, undo, actions); Mac · Safari · landscape-light (drawing, undo, actions);
  Mac · Safari · landscape-dark (drawing, undo, actions); Mac · Firefox · portrait-light (drawing,
  undo, actions); Mac · Firefox · portrait-dark (drawing, undo, actions); Mac · Firefox ·
  landscape-light (drawing, undo, actions); Mac · Firefox · landscape-dark (drawing, undo, actions).

## Candidate actions

| Priority | Action                                   | Rationale                                                                                                                                                             | Applicability                                      | Status                                                                                                                  |
| -------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| P0       | Sound-source and Clear gesture matrix    | Exercise Drawing/Delete sound toggles, volume drag, and Clear cancel/reverse/success paths with audio enabled and disabled.                                           | All web/native targets                             | Partial: drawing-sound toggle and successful Clear captured; delete sound, volume, and cancelled/reversed Clear remain. |
| P0       | Coloring-backed brush matrix             | Measure Pen, Crayon, Magic, and Eraser on active coloring art, including reversal, undo, clear, theme swap, and rotation.                                             | All targets                                        | Partial: page phases and selection/clear captured; dense ink/theme/rotation combinations remain.                        |
| P0       | Continuous Settings gestures             | Exercise pane/sidebar scrolling, phone drill/back, quick switches, button-size and volume sliders, and individual tool toggles.                                       | All targets; touch variants on mobile              | Not captured; current suite measures section navigation and selected toggles.                                           |
| P0       | Coloring picker cold/warm and race paths | Separate cold open from warm reopen, page-grid scroll, back, double-tap guard, active-page clear, and progressive pack arrival.                                       | All targets                                        | Partial: open/book/scroll/select/clear captured; cold/warm and race variants remain.                                    |
| P1       | Deterministic AI interaction flow        | Gate local frames for style choice, generating/minimize/restore, drawing while waiting, completion, refusal, retry, and result decode without gating network latency. | Physical targets plus one simulator control per OS | Not captured.                                                                                                           |
| P1       | Parental Gate flow                       | Measure guarded open, wrong-answer regeneration, backspace, correct solve, close, Parent Center retarget, and policy confirmation.                                    | All native targets; representative web targets     | Partial: Parent Center entry captured; full gate interaction remains.                                                   |
| P1       | Screenshot cold versus warm              | Separate pointerdown preparation, save readiness, repeated warm save, active-coloring export, and native OS handoff.                                                  | All targets                                        | Partial: one intercepted save action captured.                                                                          |
| P1       | Theme swaps on realistic content         | Compare blank, dense Pen/Crayon, and active coloring/Magic swaps to expose decode, style, and raster costs.                                                           | All targets                                        | Partial: Settings theme round-trip captured without dense content.                                                      |
| P1       | Rotation state matrix                    | Add Settings-open, picker-open, active coloring with ink, AI waiting, and slider-active rotations.                                                                    | Rotatable mobile targets                           | Partial: blank and generic-ink rotations captured where platform setup allowed.                                         |
| P2       | True custom-color drag                   | Measure drag-across/explore/lift selection, gap snapping, and cancellation instead of a single click.                                                                 | Touch and pointer targets                          | Not captured.                                                                                                           |
| P2       | Settings pinch text zoom                 | Exercise CSS zoom over the fully mounted Settings surface and reset on section change/close.                                                                          | Physical touch targets                             | Not captured.                                                                                                           |
| P2       | Apple Pencil gestures                    | Measure Pencil double-tap brush/eraser switching and Pencil/Scribble Clear guards.                                                                                    | Physical iPad                                      | Not captured by this campaign.                                                                                          |
| P2       | Platform-only shell gestures             | Cover Android web fullscreen/install-banner paths and desktop Ctrl+Z undo.                                                                                            | Android web and desktop web                        | Not captured.                                                                                                           |
| P2       | Lifecycle recovery                       | Background/foreground during dense drawing, AI generation, and coloring-pack work to validate recovery and context restoration.                                       | Physical and emulated mobile targets               | Not captured.                                                                                                           |

## Commit provenance

| Target                                           | Drawing                                  | Undo                                     | Action source commits                    |
| ------------------------------------------------ | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| 1. iPad physical · web · Portrait · Light        | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 1. iPad physical · web · Portrait · Dark         | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 1. iPad physical · web · Landscape · Light       | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 1. iPad physical · web · Landscape · Dark        | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 2. iPad physical · native · Portrait · Light     | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 2. iPad physical · native · Portrait · Dark      | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 2. iPad physical · native · Landscape · Light    | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 2. iPad physical · native · Landscape · Dark     | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 5. Android physical · web · Portrait · Light     | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 5. Android physical · web · Portrait · Dark      | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 5. Android physical · web · Landscape · Light    | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 5. Android physical · web · Landscape · Dark     | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 6. Android physical · native · Portrait · Light  | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 6. Android physical · native · Portrait · Dark   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 6. Android physical · native · Landscape · Light | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 6. Android physical · native · Landscape · Dark  | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 9. Mac · Chrome · Portrait · Light               | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 9. Mac · Chrome · Portrait · Dark                | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 9. Mac · Chrome · Landscape · Light              | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 9. Mac · Chrome · Landscape · Dark               | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 10. Mac · Safari · Portrait · Light              | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 10. Mac · Safari · Portrait · Dark               | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 10. Mac · Safari · Landscape · Light             | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 10. Mac · Safari · Landscape · Dark              | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 11. Mac · Firefox · Portrait · Light             | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 11. Mac · Firefox · Portrait · Dark              | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 11. Mac · Firefox · Landscape · Light            | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 11. Mac · Firefox · Landscape · Dark             | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 3. iPad simulator · web · Portrait · Light       | c80fc3b240a3a7925257c9eea055cd83739c7eae | c80fc3b240a3a7925257c9eea055cd83739c7eae | c80fc3b240a3a7925257c9eea055cd83739c7eae |
| 3. iPad simulator · web · Portrait · Dark        | c80fc3b240a3a7925257c9eea055cd83739c7eae | c80fc3b240a3a7925257c9eea055cd83739c7eae | c80fc3b240a3a7925257c9eea055cd83739c7eae |
| 3. iPad simulator · web · Landscape · Light      | c80fc3b240a3a7925257c9eea055cd83739c7eae | c80fc3b240a3a7925257c9eea055cd83739c7eae | c80fc3b240a3a7925257c9eea055cd83739c7eae |
| 3. iPad simulator · web · Landscape · Dark       | c80fc3b240a3a7925257c9eea055cd83739c7eae | c80fc3b240a3a7925257c9eea055cd83739c7eae | c80fc3b240a3a7925257c9eea055cd83739c7eae |
| 4. iPad simulator · native · Portrait · Light    | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 4. iPad simulator · native · Portrait · Dark     | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 4. iPad simulator · native · Landscape · Light   | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 4. iPad simulator · native · Landscape · Dark    | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 7. Android emulator · web · Portrait · Light     | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 6961e50b685d441e88b37d20d3f38a27136572fb | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 7. Android emulator · web · Portrait · Dark      | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 6961e50b685d441e88b37d20d3f38a27136572fb | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 7. Android emulator · web · Landscape · Light    | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 6961e50b685d441e88b37d20d3f38a27136572fb | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 7. Android emulator · web · Landscape · Dark     | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 6961e50b685d441e88b37d20d3f38a27136572fb | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 8. Android emulator · native · Portrait · Light  | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 6961e50b685d441e88b37d20d3f38a27136572fb | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 8. Android emulator · native · Portrait · Dark   | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 | 6961e50b685d441e88b37d20d3f38a27136572fb | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 8. Android emulator · native · Landscape · Light | d17100cb8e9cbd157960f352020e21a7a523fddd | 6961e50b685d441e88b37d20d3f38a27136572fb | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 8. Android emulator · native · Landscape · Dark  | d17100cb8e9cbd157960f352020e21a7a523fddd | 6961e50b685d441e88b37d20d3f38a27136572fb | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |

## Drawing

Each cell is blank-paper paint `P95 / P99 / max` in milliseconds, followed by the cumulative
lost-frame share of in-contact time. Every target retains separate portrait/landscape and light/dark
rows.

A cell aggregates however many captures its manifest lists — in this snapshot, one per cell
(`runCount` in `data.json` records the basis, and each plot tooltip states it). A gate verdict from
a single capture is one draw from that cell's run-to-run spread, so read a marginal PASS or FAIL as
provisional rather than established: ADR-0136 treats a number from the lost-frame gate as
provisional until it has been compared against the previous run of the same cell, and ADR-0137 sizes
its exceptions from worst single captures for the same reason. The campaign's one attempt to measure
a cell's spread directly (issue 1290) was retracted twice — first as host load, then as cross-run
contamination — so the spread itself remains unmeasured; a clean repeat study belongs to the
campaign-end recapture, on a quiet host.

| Target                                           | Pen                                                                       | Crayon                                                                    | Magic                                                                      | Eraser                                                                    |
| ------------------------------------------------ | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| 1. iPad physical · web · Portrait · Light        | **FAIL 16 / 24 / 42 · L1.4%**                                             | 15 / 17 / 41 · L0.5%                                                      | 16 / 21 / 36 · L1%                                                         | **FAIL 16 / 21 / 38 · L1.3%**                                             |
| 1. iPad physical · web · Portrait · Dark         | **FAIL 16 / 22 / 39 · L1.3%**                                             | 15 / 16 / 26 · L0.2%                                                      | **FAIL 16 / 24 / 38 · L1.1%**                                              | **FAIL 15 / 23 / 38 · L1.2%**                                             |
| 1. iPad physical · web · Landscape · Light       | **FAIL 16 / 25 / 41 · L1.3%**                                             | 15 / 16 / 26 · L0.3%                                                      | **FAIL 16 / 21 / 38 · L1.0%**                                              | 16 / 22 / 40 · L1.0%                                                      |
| 1. iPad physical · web · Landscape · Dark        | **FAIL 16 / 24 / 39 · L1.2%**                                             | 15 / 16 / 33 · L0.3%                                                      | **FAIL 15 / 23 / 38 · L1.0%**                                              | **FAIL 16 / 23 / 39 · L1.2%**                                             |
| 2. iPad physical · native · Portrait · Light     | 15 / 16 / 31 · L0.0%                                                      | 15 / 16 / 22 · L0%                                                        | 15 / 16 / 24 · L0.0%                                                       | 15 / 16 / 34 · L0.0%                                                      |
| 2. iPad physical · native · Portrait · Dark      | 15 / 16 / 38 · L0.1%                                                      | 16 / 16 / 26 · L0.0%                                                      | 15 / 16 / 24 · L0.0%                                                       | 15 / 16 / 33 · L0.1%                                                      |
| 2. iPad physical · native · Landscape · Light    | 15 / 16 / 43 · L0.1%                                                      | 15 / 16 / 24 · L0%                                                        | 16 / 16 / 23 · L0.0%                                                       | 15 / 16 / 38 · L0.0%                                                      |
| 2. iPad physical · native · Landscape · Dark     | 16 / 16 / 47 · L0.1%                                                      | 16 / 16 / 40 · L0.0%                                                      | 16 / 16 / 31 · L0.0%                                                       | 15 / 17 / 43 · L0.1%                                                      |
| 5. Android physical · web · Portrait · Light     | 7.8 / 8.2 / 15.6 · L0.6%                                                  | 7.8 / 8.2 / 15.8 · L0.8%                                                  | 7.7 / 8.2 / 10.1 · L0.6%                                                   | 7.8 / 8.2 / 16.2 · L0.5%                                                  |
| 5. Android physical · web · Portrait · Dark      | 8 / 8.2 / 8.9 · L0.6%                                                     | 7.9 / 8.2 / 14 · L0.6%                                                    | 7.8 / 8.2 / 10.5 · L0.6%                                                   | 7.7 / 8.1 / 8.7 · L0.4%                                                   |
| 5. Android physical · web · Landscape · Light    | 7.8 / 8.2 / 9.1 · L0.5%                                                   | 7.9 / 8.2 / 9.3 · L0.6%                                                   | 7.8 / 8.2 / 13.3 · L0.4%                                                   | 7.7 / 8.2 / 14.1 · L0.3%                                                  |
| 5. Android physical · web · Landscape · Dark     | 7.9 / 8.2 / 10.7 · L0.6%                                                  | 7.8 / 8.2 / 15.1 · L0.5%                                                  | 7.9 / 8.2 / 11.8 · L0.5%                                                   | 7.8 / 8.2 / 14.4 · L0.6%                                                  |
| 6. Android physical · native · Portrait · Light  | 8.1 / 8.2 / 8.3 · L0%                                                     | 8.1 / 8.2 / 10.3 · L0.0%                                                  | 8 / 8.2 / 8.3 · L0%                                                        | 8 / 8.2 / 8.4 · L0%                                                       |
| 6. Android physical · native · Portrait · Dark   | 8 / 8.2 / 8.7 · L0%                                                       | 7.9 / 8.1 / 14.2 · L0.0%                                                  | 8 / 8.1 / 9.4 · L0.0%                                                      | 7.9 / 8.1 / 8.8 · L0%                                                     |
| 6. Android physical · native · Landscape · Light | 8 / 8.1 / 15.4 · L0.0%                                                    | 7.9 / 8.1 / 22.1 · L0.0%                                                  | 8 / 8.1 / 24.1 · L0.0%                                                     | 7.9 / 8.1 / 14.4 · L0.0%                                                  |
| 6. Android physical · native · Landscape · Dark  | 7.9 / 8.1 / 12.8 · L0.0%                                                  | 8 / 8.1 / 14.9 · L0.0%                                                    | 7.9 / 8.1 / 14.3 · L0.0%                                                   | 7.9 / 8.1 / 8.3 · L0%                                                     |
| 9. Mac · Chrome · Portrait · Light               | *unscoreable (preserved: no current verdict)*: 9.3 / 9.9 / 10.2 · L0%     | *unscoreable (preserved: no current verdict)*: 9 / 9.7 / 10.1 · L0%       | *unscoreable (preserved: no current verdict)*: 9.1 / 9.9 / 10.2 · L0%      | *unscoreable (preserved: no current verdict)*: 9.6 / 10 / 10.2 · L0%      |
| 9. Mac · Chrome · Portrait · Dark                | *unscoreable (preserved: no current verdict)*: 9.3 / 9.7 / 10 · L0%       | *unscoreable (preserved: no current verdict)*: 9.1 / 9.7 / 10 · L0%       | *unscoreable (preserved: no current verdict)*: 9.5 / 9.8 / 10 · L0%        | *unscoreable (preserved: no current verdict)*: 9.4 / 9.9 / 10.1 · L0%     |
| 9. Mac · Chrome · Landscape · Light              | *unscoreable (preserved: no current verdict)*: 9.4 / 10.1 / 10.2 · L0%    | *unscoreable (preserved: no current verdict)*: 9.5 / 9.9 / 10.2 · L0%     | *unscoreable (preserved: no current verdict)*: 9.4 / 10 / 10.3 · L0%       | *unscoreable (preserved: no current verdict)*: 9.2 / 9.9 / 10.2 · L0%     |
| 9. Mac · Chrome · Landscape · Dark               | *unscoreable (preserved: no current verdict)*: 9.2 / 9.7 / 10 · L0%       | *unscoreable (preserved: no current verdict)*: 9.2 / 9.7 / 9.9 · L0%      | *unscoreable (preserved: no current verdict)*: 9.2 / 9.7 / 10 · L0%        | *unscoreable (preserved: no current verdict)*: 9.5 / 9.9 / 10.1 · L0%     |
| 10. Mac · Safari · Portrait · Light              | *unscoreable (preserved: no current verdict)*: 18 / 18 / 19 · L0%         | *unscoreable (preserved: no current verdict)*: 18 / 18 / 19 · L0%         | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%          | *unscoreable (preserved: no current verdict)*: 17 / 18 / 18 · L0%         |
| 10. Mac · Safari · Portrait · Dark               | *unscoreable (preserved: no current verdict)*: 18 / 18 / 19 · L0%         | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%         | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%          | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%         |
| 10. Mac · Safari · Landscape · Light             | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%         | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%         | *unscoreable (preserved: no current verdict)*: 17 / 18 / 18 · L0%          | *unscoreable (preserved: no current verdict)*: 17 / 18 / 18 · L0%         |
| 10. Mac · Safari · Landscape · Dark              | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%         | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%         | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%          | *unscoreable (preserved: no current verdict)*: 18 / 18 / 18 · L0%         |
| 11. Mac · Firefox · Portrait · Light             | *unscoreable (preserved: no current verdict)*: 8.9 / 9.6 / 10.3 · L0%     | *unscoreable (preserved: no current verdict)*: 8.7 / 9.4 / 9.8 · L0%      | *unscoreable (preserved: no current verdict)*: 8.7 / 9.5 / 10.1 · L0%      | *unscoreable (preserved: no current verdict)*: 8.7 / 9.6 / 10.0 · L0%     |
| 11. Mac · Firefox · Portrait · Dark              | *unscoreable (preserved: no current verdict)*: 8.6 / 9.3 / 9.9 · L0%      | *unscoreable (preserved: no current verdict)*: 8.6 / 9.7 / 13.7 · L0.1%   | *unscoreable (preserved: no current verdict)*: 8.7 / 9.4 / 10.1 · L0%      | *unscoreable (preserved: no current verdict)*: 9 / 9.7 / 10.1 · L0%       |
| 11. Mac · Firefox · Landscape · Light            | *unscoreable (preserved: no current verdict)*: 8.9 / 9.7 / 10.1 · L0%     | *unscoreable (preserved: no current verdict)*: 8.7 / 9.5 / 10.2 · L0%     | *unscoreable (preserved: no current verdict)*: 8.8 / 9.8 / 16.1 · L0.1%    | *unscoreable (preserved: no current verdict)*: 8.6 / 9.4 / 9.8 · L0%      |
| 11. Mac · Firefox · Landscape · Dark             | *unscoreable (preserved: no current verdict)*: 8.9 / 9.6 / 10.3 · L0%     | *unscoreable (preserved: no current verdict)*: 8.7 / 9.4 / 24.1 · L0.2%   | *unscoreable (preserved: no current verdict)*: 8.8 / 9.5 / 10.1 · L0%      | *unscoreable (preserved: no current verdict)*: 8.8 / 9.4 / 10.1 · L0%     |
| 3. iPad simulator · web · Portrait · Light       | *unscoreable (preserved: no current verdict)*: 16 / 19 / 23 · L0.1%       | *unscoreable (preserved: no current verdict)*: 14 / 18 / 22 · L0.1%       | *unscoreable (preserved: no current verdict)*: 15 / 17 / 21 · L0.2%        | *unscoreable (preserved: no current verdict)*: 16 / 16 / 22 · L0.1%       |
| 3. iPad simulator · web · Portrait · Dark        | *unscoreable (preserved: no current verdict)*: 11 / 15 / 19 · L0.3%       | *unscoreable (preserved: no current verdict)*: 12 / 16 / 20 · L0.2%       | *unscoreable (preserved: no current verdict)*: 11 / 14 / 18 · L0.1%        | *unscoreable (preserved: no current verdict)*: 11 / 13 / 18 · L0.1%       |
| 3. iPad simulator · web · Landscape · Light      | *unscoreable (preserved: no current verdict)*: 12 / 16 / 21 · L0.2%       | *unscoreable (preserved: no current verdict)*: 12 / 15 / 19 · L0.1%       | *unscoreable (preserved: no current verdict)*: 11 / 14 / 20 · L0.1%        | *unscoreable (preserved: no current verdict)*: 15 / 16 / 21 · L0.1%       |
| 3. iPad simulator · web · Landscape · Dark       | *unscoreable (preserved: no current verdict)*: 12 / 15 / 19 · L0.1%       | *unscoreable (preserved: no current verdict)*: 12 / 16 / 19 · L0.1%       | *unscoreable (preserved: no current verdict)*: 7 / 10 / 18 · L0.1%         | *unscoreable (preserved: no current verdict)*: 16 / 17 / 21 · L0.1%       |
| 4. iPad simulator · native · Portrait · Light    | *unscoreable (preserved: no current verdict)*: 15 / 17 / 21 · L0%         | *unscoreable (preserved: no current verdict)*: 16 / 17 / 20 · L0%         | *unscoreable (preserved: no current verdict)*: 15 / 16 / 25 · L0%          | *unscoreable (preserved: no current verdict)*: 11 / 15 / 27 · L0.7%       |
| 4. iPad simulator · native · Portrait · Dark     | *unscoreable (preserved: no current verdict)*: 11 / 15 / 18 · L0%         | *unscoreable (preserved: no current verdict)*: 11 / 16 / 24 · L0%         | *unscoreable (preserved: no current verdict)*: 5 / 7 / 13 · L0%            | *unscoreable (preserved: no current verdict)*: 16 / 17 / 34 · L0.7%       |
| 4. iPad simulator · native · Landscape · Light   | *unscoreable (preserved: no current verdict)*: 16 / 16 / 20 · L0%         | *unscoreable (preserved: no current verdict)*: 15 / 18 / 21 · L0.0%       | *unscoreable (preserved: no current verdict)*: 16 / 18 / 23 · L0.1%        | *unscoreable (preserved: no current verdict)*: 16 / 18 / 30 · L0.6%       |
| 4. iPad simulator · native · Landscape · Dark    | *unscoreable (preserved: no current verdict)*: 11 / 15 / 87 · L0.3%       | *unscoreable (preserved: no current verdict)*: 15 / 16 / 22 · L0%         | *unscoreable (preserved: no current verdict)*: 11 / 13 / 32 · L0.0%        | *unscoreable (preserved: no current verdict)*: 12 / 14 / 27 · L0.7%       |
| 7. Android emulator · web · Portrait · Light     | *unscoreable (preserved: no current verdict)*: 16.5 / 16.6 / 16.6 · L0.1% | *unscoreable (preserved: no current verdict)*: 16.5 / 16.6 / 33.2 · L0.2% | *unscoreable (preserved: no current verdict)*: 16.5 / 16.6 / 198.5 · L0.4% | *unscoreable (preserved: no current verdict)*: 16.5 / 16.6 / 16.6 · L0.4% |
| 7. Android emulator · web · Portrait · Dark      | *unscoreable (preserved: no current verdict)*: 14.5 / 16.4 / 32.1 · L0.6% | *unscoreable (preserved: no current verdict)*: 15.5 / 16.4 / 16.5 · L0.1% | *unscoreable (preserved: no current verdict)*: 15.4 / 16.4 / 16.4 · L0.3%  | *unscoreable (preserved: no current verdict)*: 16.1 / 16.4 / 47.7 · L1.1% |
| 7. Android emulator · web · Landscape · Light    | *unscoreable (preserved: no current verdict)*: 16.4 / 16.5 / 16.5 · L0.0% | *unscoreable (preserved: no current verdict)*: 16.3 / 16.4 / 16.4 · L0.3% | *unscoreable (preserved: no current verdict)*: 16.2 / 16.5 / 196.8 · L0.4% | *unscoreable (preserved: no current verdict)*: 16.4 / 16.4 / 16.5 · L0.4% |
| 7. Android emulator · web · Landscape · Dark     | *unscoreable (preserved: no current verdict)*: 16.1 / 16.4 / 16.4 · L0.6% | *unscoreable (preserved: no current verdict)*: 16.1 / 16.4 / 16.4 · L0.3% | *unscoreable (preserved: no current verdict)*: 16.3 / 16.6 / 16.7 · L0%    | *unscoreable (preserved: no current verdict)*: 16.3 / 16.6 / 16.7 · L0.2% |
| 8. Android emulator · native · Portrait · Light  | *unscoreable (preserved: no current verdict)*: 16.4 / 16.5 / 16.5 · L0%   | *unscoreable (preserved: no current verdict)*: 16.5 / 16.5 / 16.5 · L0%   | *unscoreable (preserved: no current verdict)*: 16.4 / 16.4 / 16.5 · L0%    | *unscoreable (preserved: no current verdict)*: 16.4 / 16.5 / 21.5 · L0.1% |
| 8. Android emulator · native · Portrait · Dark   | *unscoreable (preserved: no current verdict)*: 16.5 / 16.6 / 16.6 · L0%   | *unscoreable (preserved: no current verdict)*: 16.4 / 16.4 / 16.4 · L0%   | *unscoreable (preserved: no current verdict)*: 16.4 / 16.4 / 16.5 · L0%    | *unscoreable (preserved: no current verdict)*: 16.4 / 16.5 / 21.4 · L0.1% |
| 8. Android emulator · native · Landscape · Light | *unscoreable (preserved: no current verdict)*: 16.5 / 16.5 / 16.6 · L0%   | *unscoreable (preserved: no current verdict)*: 16.5 / 16.5 / 16.5 · L0%   | *unscoreable (preserved: no current verdict)*: 16.5 / 16.5 / 16.5 · L0%    | *unscoreable (preserved: no current verdict)*: 16.6 / 16.6 / 16.6 · L0%   |
| 8. Android emulator · native · Landscape · Dark  | *unscoreable (preserved: no current verdict)*: 16.5 / 16.6 / 16.6 · L0%   | *unscoreable (preserved: no current verdict)*: 16.6 / 16.6 / 16.6 · L0%   | *unscoreable (preserved: no current verdict)*: 16.5 / 16.5 / 16.5 · L0%    | *unscoreable (preserved: no current verdict)*: 16.5 / 16.5 / 16.6 · L0%   |

## Undo

Undo timing is `engine P95 / next-frame P95 / next-frame max` in milliseconds.

| Target                                           | Timing            | Result | Product commit                           |
| ------------------------------------------------ | ----------------- | ------ | ---------------------------------------- |
| 1. iPad physical · web · Portrait · Light        | 1 / 11 / 11       | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 1. iPad physical · web · Portrait · Dark         | 1 / 12 / 12       | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 1. iPad physical · web · Landscape · Light       | 1 / 12 / 12       | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 1. iPad physical · web · Landscape · Dark        | 1 / 13 / 13       | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 2. iPad physical · native · Portrait · Light     | 1 / 10 / 10       | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 2. iPad physical · native · Portrait · Dark      | 1 / 14 / 14       | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 2. iPad physical · native · Landscape · Light    | 1 / 13 / 13       | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 2. iPad physical · native · Landscape · Dark     | 0 / 9 / 9         | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 5. Android physical · web · Portrait · Light     | 1.4 / 12.8 / 12.8 | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 5. Android physical · web · Portrait · Dark      | 1.6 / 12.4 / 12.4 | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 5. Android physical · web · Landscape · Light    | 1.7 / 11.6 / 11.6 | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 5. Android physical · web · Landscape · Dark     | 0.9 / 12.8 / 12.8 | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 6. Android physical · native · Portrait · Light  | 1.5 / 6.2 / 6.2   | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 6. Android physical · native · Portrait · Dark   | 1.3 / 6.3 / 6.3   | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 6. Android physical · native · Landscape · Light | 1.7 / 5.9 / 5.9   | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 6. Android physical · native · Landscape · Dark  | 1.4 / 5.8 / 5.8   | Pass   | e5142fab8ff2d4b5c8ee767e244c495cec3ba8d3 |
| 9. Mac · Chrome · Portrait · Light               | 0.4 / 7.5 / 7.5   | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 9. Mac · Chrome · Portrait · Dark                | 0.4 / 6.9 / 6.9   | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 9. Mac · Chrome · Landscape · Light              | 0.3 / 6.4 / 6.4   | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 9. Mac · Chrome · Landscape · Dark               | 0.5 / 7.3 / 7.3   | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 10. Mac · Safari · Portrait · Light              | 1 / 12 / 12       | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 10. Mac · Safari · Portrait · Dark               | 1 / 10 / 10       | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 10. Mac · Safari · Landscape · Light             | 1 / 9 / 9         | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 10. Mac · Safari · Landscape · Dark              | 1 / 11 / 11       | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 11. Mac · Firefox · Portrait · Light             | 5 / 7.5 / 7.5     | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 11. Mac · Firefox · Portrait · Dark              | 5 / 6.9 / 6.9     | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 11. Mac · Firefox · Landscape · Light            | 4 / 7.6 / 7.6     | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 11. Mac · Firefox · Landscape · Dark             | 2 / 10.1 / 10.1   | Pass   | d17100cb8e9cbd157960f352020e21a7a523fddd |
| 3. iPad simulator · web · Portrait · Light       | 1 / 14 / 14       | Pass   | c80fc3b240a3a7925257c9eea055cd83739c7eae |
| 3. iPad simulator · web · Portrait · Dark        | 1 / 16 / 16       | Pass   | c80fc3b240a3a7925257c9eea055cd83739c7eae |
| 3. iPad simulator · web · Landscape · Light      | 1 / 15 / 15       | Pass   | c80fc3b240a3a7925257c9eea055cd83739c7eae |
| 3. iPad simulator · web · Landscape · Dark       | 1 / 12 / 12       | Pass   | c80fc3b240a3a7925257c9eea055cd83739c7eae |
| 4. iPad simulator · native · Portrait · Light    | 0 / 15 / 15       | Pass   | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 4. iPad simulator · native · Portrait · Dark     | 1 / 14 / 14       | Pass   | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 4. iPad simulator · native · Landscape · Light   | 1 / 14 / 14       | Pass   | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 4. iPad simulator · native · Landscape · Dark    | 1 / 14 / 14       | Pass   | 13643a1f2cc5972cc4c9f996cdf1bf476c76dc77 |
| 7. Android emulator · web · Portrait · Light     | 0.2 / 14.8 / 14.8 | Pass   | 6961e50b685d441e88b37d20d3f38a27136572fb |
| 7. Android emulator · web · Portrait · Dark      | 0.3 / 14.4 / 14.4 | Pass   | 6961e50b685d441e88b37d20d3f38a27136572fb |
| 7. Android emulator · web · Landscape · Light    | 0.8 / 14.9 / 14.9 | Pass   | 6961e50b685d441e88b37d20d3f38a27136572fb |
| 7. Android emulator · web · Landscape · Dark     | 0.2 / 15.6 / 15.6 | Pass   | 6961e50b685d441e88b37d20d3f38a27136572fb |
| 8. Android emulator · native · Portrait · Light  | 0.3 / 14.9 / 14.9 | Pass   | 6961e50b685d441e88b37d20d3f38a27136572fb |
| 8. Android emulator · native · Portrait · Dark   | 0.3 / 13.9 / 13.9 | Pass   | 6961e50b685d441e88b37d20d3f38a27136572fb |
| 8. Android emulator · native · Landscape · Light | 0.3 / 14.2 / 14.2 | Pass   | 6961e50b685d441e88b37d20d3f38a27136572fb |
| 8. Android emulator · native · Landscape · Dark  | 0.2 / 14.7 / 14.7 | Pass   | 6961e50b685d441e88b37d20d3f38a27136572fb |

## Discrete actions

The idle-frame profiling control is excluded from the columns below and **consulted** rather than
merely dropped: it performs no interaction, so a mode where it fails its own gate cannot attribute
any action score to the product. Such a mode is marked `no control` and left out of the cross-mode
failure ranking. Ready P95 is the action-specific observable completion time. The post-action column
is `P95 / max` in milliseconds. Full per-action timing and provenance are available in the
interactive matrix and normalized JSON.

| Target                                           | Passing | At final commit | Worst first P95 | Worst ready P95 | Worst post P95 / max | Failed actions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ------------------------------------------------ | ------- | --------------- | --------------- | --------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1. iPad physical · web · Portrait · Light        | 47 / 47 | 47 / 47         | 23              | 2700            | 26 / 36              | save screenshot (max 36 ms unconfirmed)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 1. iPad physical · web · Portrait · Dark         | 47 / 47 | 47 / 47         | 23              | 2732            | 27 / 41              | save screenshot (max 35 ms unconfirmed)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 1. iPad physical · web · Landscape · Light       | 48 / 48 | 48 / 48         | 24              | 2689            | 27 / 29              | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 1. iPad physical · web · Landscape · Dark        | 48 / 48 | 48 / 48         | 22              | 2655            | 27 / 31              | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 2. iPad physical · native · Portrait · Light     | 48 / 48 | 48 / 48         | 20              | 2707            | 18 / 33              | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 2. iPad physical · native · Portrait · Dark      | 47 / 48 | 48 / 48         | 30              | 2696            | 25 / 35              | disable drawing sounds; open Settings section: Feedback (max 35 ms unconfirmed)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 2. iPad physical · native · Landscape · Light    | 49 / 49 | 49 / 49         | 29              | 2689            | 18 / 31              | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 2. iPad physical · native · Landscape · Dark     | 48 / 49 | 49 / 49         | 30              | 2708            | 25 / 37              | disable auto-save on delete; open Settings section: Saving (max 37 ms unconfirmed)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 5. Android physical · web · Portrait · Light     | 48 / 48 | 48 / 48         | 25.6            | 2530.9          | 17 / 33.4            | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 5. Android physical · web · Portrait · Dark      | 48 / 48 | 48 / 48         | 26.1            | 2522.8          | 17 / 49.9            | empty after clear: LANDSCAPE to PORTRAIT rotation (max 49.9 ms unconfirmed)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 5. Android physical · web · Landscape · Light    | 33 / 34 | 34 / 34         | 43.9            | 2533            | 17 / 33.7            | empty after clear: LANDSCAPE to PORTRAIT rotation; enable Night Mode in the compact shell (max 33.7 ms unconfirmed)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 5. Android physical · web · Landscape · Dark     | 34 / 34 | 34 / 34         | 21.8            | 2528.7          | 33.3 / 33.5          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 6. Android physical · native · Portrait · Light  | 49 / 49 | 49 / 49         | 22.9            | 2949.8          | 16.8 / 24.7          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 6. Android physical · native · Portrait · Dark   | 49 / 49 | 49 / 49         | 17              | 2929.2          | 16.7 / 25            | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 6. Android physical · native · Landscape · Light | 35 / 35 | 35 / 35         | 18.5            | 2948.6          | 10.1 / 25            | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 6. Android physical · native · Landscape · Dark  | 35 / 35 | 35 / 35         | 15.2            | 2916.6          | 16.7 / 25.1          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 9. Mac · Chrome · Portrait · Light               | 48 / 48 | 0 / 48          | 8.9             | 1502            | 10.3 / 16.7          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 9. Mac · Chrome · Portrait · Dark                | 48 / 48 | 0 / 48          | 9.8             | 1501.9          | 10.4 / 16.7          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 9. Mac · Chrome · Landscape · Light              | 49 / 49 | 0 / 49          | 9.5             | 1501.8          | 10.2 / 10.4          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 9. Mac · Chrome · Landscape · Dark               | 49 / 49 | 0 / 49          | 8.4             | 1502.1          | 10.2 / 10.4          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 10. Mac · Safari · Portrait · Light              | 48 / 48 | 0 / 48          | 23              | 1504            | 19 / 28              | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 10. Mac · Safari · Portrait · Dark               | 48 / 48 | 0 / 48          | 22              | 1499            | 20 / 27              | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 10. Mac · Safari · Landscape · Light             | 49 / 49 | 0 / 49          | 23              | 1503            | 19 / 24              | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 10. Mac · Safari · Landscape · Dark              | 49 / 49 | 0 / 49          | 22              | 1502            | 19 / 27              | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 11. Mac · Firefox · Portrait · Light             | 48 / 48 | 0 / 48          | 14.3            | 1518            | 10.3 / 26.6          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 11. Mac · Firefox · Portrait · Dark              | 48 / 48 | 0 / 48          | 13.1            | 1519            | 10.2 / 25.6          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 11. Mac · Firefox · Landscape · Light            | 49 / 49 | 0 / 49          | 12.8            | 1518            | 10.2 / 25            | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 11. Mac · Firefox · Landscape · Dark             | 49 / 49 | 0 / 49          | 12.6            | 1519            | 10.3 / 25.2          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 3. iPad simulator · web · Portrait · Light       | 37 / 47 | 0 / 47          | 14              | 2371            | 34 / 50              | open Settings; switch light theme to dark; enable drawing sounds; select coloring page; clear coloring page; empty after clear: PORTRAIT to LANDSCAPE rotation; undo clear after blank rotation; empty after clear: LANDSCAPE to PORTRAIT rotation; with ink: PORTRAIT to LANDSCAPE rotation; with ink: LANDSCAPE to PORTRAIT rotation                                                                                                                                                                                                                                                                       |
| 3. iPad simulator · web · Portrait · Dark        | 38 / 47 | 0 / 47          | 17              | 2387            | 33 / 50              | open Settings; switch dark theme to light; switch light theme to dark; select coloring page; empty after clear: PORTRAIT to LANDSCAPE rotation; undo clear after blank rotation; empty after clear: LANDSCAPE to PORTRAIT rotation; with ink: PORTRAIT to LANDSCAPE rotation; with ink: LANDSCAPE to PORTRAIT rotation                                                                                                                                                                                                                                                                                       |
| 3. iPad simulator · web · Landscape · Light      | 40 / 48 | 0 / 48          | 17              | 2379            | 41 / 50              | open Settings; enable drawing sounds; select coloring page; empty after clear: LANDSCAPE to PORTRAIT rotation; undo clear after blank rotation; empty after clear: PORTRAIT to LANDSCAPE rotation; with ink: LANDSCAPE to PORTRAIT rotation; with ink: PORTRAIT to LANDSCAPE rotation                                                                                                                                                                                                                                                                                                                        |
| 3. iPad simulator · web · Landscape · Dark       | 38 / 48 | 0 / 48          | 17              | 2389            | 38 / 52              | open Settings; switch dark theme to light; enable drawing sounds; enable screenshot action button; select coloring page; empty after clear: LANDSCAPE to PORTRAIT rotation; undo clear after blank rotation; empty after clear: PORTRAIT to LANDSCAPE rotation; with ink: LANDSCAPE to PORTRAIT rotation; with ink: PORTRAIT to LANDSCAPE rotation                                                                                                                                                                                                                                                           |
| 4. iPad simulator · native · Portrait · Light    | 38 / 48 | 0 / 48          | 33              | 2383            | 67 / 67              | open custom color picker; open Settings; switch dark theme to light; switch light theme to dark; enable advanced controls; select coloring page; clear coloring page; undo clear after blank rotation; clear restored drawing after blank rotation; with ink: LANDSCAPE to PORTRAIT rotation                                                                                                                                                                                                                                                                                                                 |
| 4. iPad simulator · native · Portrait · Dark     | 37 / 48 | 0 / 48          | 15              | 1955            | 32 / 41              | open custom color picker; open Settings; switch dark theme to light; switch light theme to dark; select coloring page; clear coloring page; clear drawing; undo clear after blank rotation; clear restored drawing after blank rotation; empty after clear: LANDSCAPE to PORTRAIT rotation; with ink: LANDSCAPE to PORTRAIT rotation                                                                                                                                                                                                                                                                         |
| 4. iPad simulator · native · Landscape · Light   | 37 / 49 | 0 / 49          | 16              | 1957            | 56 / 56              | open custom color picker; open Settings; switch dark theme to light; switch light theme to dark; enable drawing sounds; select coloring page; clear coloring page; empty after clear: LANDSCAPE to PORTRAIT rotation; undo clear after blank rotation; clear restored drawing after blank rotation; with ink: LANDSCAPE to PORTRAIT rotation; with ink: PORTRAIT to LANDSCAPE rotation                                                                                                                                                                                                                       |
| 4. iPad simulator · native · Landscape · Dark    | 37 / 49 | 0 / 49          | 17              | 2254            | 64 / 64              | open custom color picker; select custom color; open Settings; switch dark theme to light; switch light theme to dark; select coloring page; clear coloring page; clear drawing; empty after clear: LANDSCAPE to PORTRAIT rotation; undo clear after blank rotation; with ink: LANDSCAPE to PORTRAIT rotation; with ink: PORTRAIT to LANDSCAPE rotation                                                                                                                                                                                                                                                       |
| 7. Android emulator · web · Portrait · Light     | 26 / 49 | 0 / 49          | 30.8            | 2524.7          | 83.4 / 116.6         | expand action drawer; open custom color picker; select custom color; open brush menu; select pen brush; open Settings; open Settings section: Sound; open Settings section: Tool Drawer; open Settings section: Saving; open Settings section: What's New; open Settings section: About; switch dark theme to light; switch light theme to dark; disable drawing sounds; enable drawing sounds; disable advanced controls; enable advanced controls; disable screenshot action button; enable screenshot action button; open coloring books; open coloring book; scroll coloring pages; select coloring page |
| 7. Android emulator · web · Portrait · Dark      | 46 / 48 | 0 / 48          | 14.9            | 2528.8          | 33.4 / 33.4          | with ink: PORTRAIT to LANDSCAPE rotation; with ink: LANDSCAPE to PORTRAIT rotation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 7. Android emulator · web · Landscape · Light    | 27 / 34 | 0 / 34          | 16.6            | 2535.4          | 50.1 / 83.4          | select custom color; open Settings; enable Night Mode in the compact shell; disable Night Mode in the compact shell; open coloring books; select coloring page; with ink: PORTRAIT to LANDSCAPE rotation                                                                                                                                                                                                                                                                                                                                                                                                     |
| 7. Android emulator · web · Landscape · Dark     | 24 / 34 | 0 / 34          | 16.2            | 2545.5          | 83.2 / 116.6         | change ink color; open custom color picker; open Settings; disable Night Mode in the compact shell; enable Night Mode in the compact shell; disable advanced controls in the compact shell; enable advanced controls in the compact shell; open coloring books; select coloring page; with ink: PORTRAIT to LANDSCAPE rotation                                                                                                                                                                                                                                                                               |
| 8. Android emulator · native · Portrait · Light  | 38 / 49 | 0 / 49          | 20.5            | 2685.9          | 66.7 / 83.3          | open Settings section: What's New; switch dark theme to light; switch light theme to dark; disable drawing sounds; enable drawing sounds; disable auto-save on delete; disable advanced controls; enable advanced controls; enable screenshot action button; open coloring books; open coloring book                                                                                                                                                                                                                                                                                                         |
| 8. Android emulator · native · Portrait · Dark   | 39 / 49 | 0 / 49          | 16.7            | 2701.2          | 83.3 / 116.6         | open Settings section: What's New; switch dark theme to light; switch light theme to dark; disable drawing sounds; enable drawing sounds; disable advanced controls; enable advanced controls; enable screenshot action button; open coloring books; open coloring book                                                                                                                                                                                                                                                                                                                                      |
| 8. Android emulator · native · Landscape · Light | 35 / 35 | 0 / 35          | 16              | 2696.1          | 16.8 / 16.8          | None                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 8. Android emulator · native · Landscape · Dark  | 34 / 35 | 0 / 35          | 16.6            | 2693.6          | 33.4 / 33.4          | open coloring book                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

## Method

Action sources are applied in manifest order within one target mode. A focused capture replaces only
its declared labels in that mode, and only when the mode also carries a full sweep at the same
product commit (`unconfirmed-focused-action` refuses the fold otherwise); all other labels retain
their earlier measurement and provenance. Drawing raw tables and action samples are re-scored with
the current metric definitions when this report is generated; stored derived summaries are not
trusted. The release gate is the 4 physical rows: iPad physical · web, iPad physical · native,
Android physical · web, Android physical · native. Only iPad physical · web carries a calibrated
drawing instrument — 4/4 modes captured, 10 of 16 brush aggregates over gate; the other 3 are
gates-in-waiting until theirs are calibrated. Mac rows are a regression tripwire, and simulator and
emulator rows are advisory (ADR-0156).
