Skip to content

fix(ios): preserve native drawing order in view snapshots - #39

Draft
rdlabo wants to merge 4 commits into
mainfrom
perf/caller-capture-readiness
Draft

rdlabo wants to merge 4 commits into
mainfrom
perf/caller-capture-readiness

Conversation

@rdlabo

@rdlabo rdlabo commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Overlapping native controls could be painted in a different order in the Web handoff image because source views were selected from a dictionary. Repeated captures could change that order without any change to the native UI.

Select requested views in the host's native drawing order, retaining the existing fallback for sources outside that host. The regression test compares decoded pixels across repeated handoffs and after changing the native stacking order.

The existing pre-interaction image handoff and capture timing are preserved. This fix uses the published Engine 1.0.4 and has no dependency on Engine #47.

Validation

  • Four focused iOS hosted tests passed against Engine 1.0.4: source ordering, popover ownership and covered-control restoration.
  • All 57 Web image-handoff tests passed on this branch with its locked dependencies.
  • With the unchanged main controller, the regression test failed five pixel assertions.

@rdlabo rdlabo changed the title perf(ios): declare capture readiness from plugin-owned controls fix(ios): preserve native drawing order in view snapshots Nov 10, 2026

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant