Skip to content

fix(recording): normalize rotated video bounds before touch overlays - #3494

Merged
thymikee merged 1 commit into
mainfrom
t3/duo-recording-overlay-2774
Oct 12, 2026
Merged

thymikee merged 1 commit into
mainfrom
t3/duo-recording-overlay-2774

Conversation

@thymikee

@thymikee thymikee commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Summary

Closes #2774.

Duo inner-panel recordings with a rot90 preferred transform exported outside the composition canvas, triggering an all-black export rejection and overlayWarning. Normalize the transformed frame origin using the same bounds that determine render size. Four files update the helper, native regression coverage/fixture, and ADR evidence.

Validation

Tested commit: 7173576630b7987714602738361b226b4b0ebcda.

  • pnpm check:affected --run passed.
  • Native export tests: original helper 1 failed/7 passed; fixed helper 8 passed, covering identity, negative-origin rot90, and translated rot90 with upright pixel checks.
  • Exact-head live Duo/iOS 27.1 short overlay/control: both 2852×2006, no warning, decoded luma 246.909–247.176, tap crop 5,130 blue pixels versus zero in matching raw source.
  • Same helper bytes passed the earlier ~90s five-tap/four-scroll matrix: overlay/raw 90.833/90.825s, control 91.048s, all nine event crops draw touch pixels, no warning. Native runner build passed.
  • Current landscape pose presents upright 2852×2006; the issue's older portrait dimensions are explained in the issue evidence.
  • Independent review cleared transform math. Session closed, isolated daemon cleaned, stale claims empty. PR CI pending; detailed measurements will be posted on Verify the touch-overlay export on the iPhone Duo inner (rot90) panel #2774.

View guided diff Turn on auto-fix

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

View guided diff | Turn on auto-fix | Re-trigger cubic

@github-actions

Copy link
Copy Markdown
Contributor

Size Report

Metric Base Current Diff
Installed (including dependencies) 5.17 MB 5.17 MB +216 B
Package (unpacked) 5.17 MB 5.17 MB +216 B
Package (download) 1.55 MB 1.55 MB +60 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 26.6 ms 26.3 ms -0.3 ms
CLI --help 74.7 ms 75.4 ms +0.6 ms

@thymikee

Copy link
Copy Markdown
Member Author

This PR is ready at 7173576. I found no problems in the diff, and no conflicts. CI is still running, with Lint & Format, Coverage, two Smoke Tests and two Analyze jobs queued or in progress. None has failed. The macOS-gated Swift export tests in the Coverage lane are the ones that exercise this change. I ran no tests and had no live device, so the Duo claims rest on the PR body, and I did not diff the helper bytes across heads or read the full tap and scroll builders in recording-overlay.swift beyond checking that they take renderSize. Not blocking: the shared beforeAll timeout in recording-scripts.test.ts now also covers three more Swift compiles and three export cycles, so exerciseOverlayExports could get its own timeout; and the second resolvedRenderSize in recording-inspect.swift agrees with the overlay's today, so it can stay unless the two drift. Both can be taken or left. Before merge, CI needs to go green (Lint & Format, Coverage, Smoke), and the live Duo measurements should be posted on #2774 so the issue's completion conditions are on record.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 12, 2026
@thymikee
thymikee merged commit bbb9dd5 into main Oct 12, 2026
19 checks passed
@thymikee
thymikee deleted the t3/duo-recording-overlay-2774 branch October 12, 2026 12:53
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-12 12:57 UTC

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

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

1 participant