Skip to content

Verify the touch-overlay export on the iPhone Duo inner (rot90) panel #2774

Description

@thymikee

Purpose

#2707 fixed the touch-overlay export (always export through AVAssetExportPresetHighestQuality, plus the verifyCompositedOverlay self-check) and was proven on the non-rot90 iPhone 17 in #2767. The #2707 completion matrix also names the iPhone Duo inner panel — the only Apple route with a rot90 preferredTransform, where the composition renderSize, the export transform, and the upright size check can disagree. That row was not run because the Duo was held by a live session when #2767 landed. Splitting it out here per #2767 (comment) review.

Required behavior

On the iPhone Duo inner panel (unfolded, lit inner, rot90 preferredTransform), with the current apple/runner/AgentDeviceRunner/RecordingScripts/recording-overlay.swift:

  • A touched recording exports upright at the same transform-applied track size as the same recording under --hide-touches.
  • record stop reports no overlayWarning — the compositor neither drops the overlay nor publishes a sideways or all-black track.

A failure mode is a Duo user losing the overlay (overlayWarning) or getting a sideways export; the iPhone 17 run cannot reach this branch.

Completion conditions

Run the gated test/integration/recording-overlay.test.ts e2e (or the CLI sequence) on the inner panel at the #2707 fix head and attach:

  • a short-tap record stop --json with no overlayWarning and a render size equal to the --hide-touches control of the same tap — upright (2006x2852), not the sideways 2853x2007 coding grid;
  • a ~90s taps+scroll clip with the same size match, no overlayWarning, non-zero mean luma, and overlay pixels drawn.

Read sizes through recording-inspect.swift's renderWidth/renderHeight (the AVFoundation resolvedRenderSize the overlay tool already uses), not a second parser. If the compositor cannot satisfy these, fix the rot90 handling in recording-overlay.swift and re-measure.

Dependencies

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions