Skip to content

fix(ios): preserve Controls snapshot drawing order - #47

Open
rdlabo wants to merge 9 commits into
mainfrom
perf/capture-readiness
Open

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

Conversation

@rdlabo

@rdlabo rdlabo commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

The bundled Controls renderer selected snapshot source views from a dictionary. A partial selection could paint overlapping controls in a different order, or reuse an old image after the native stacking order changed. The image handed to Web must preserve the native appearance.

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 stacking order.

This change belongs to the Controls renderer. Engine capture APIs, settling, PNG/color handling and Web handoff scheduling remain unchanged.

Validation

  • CI: lint, Rust, browser, Swift and Android checks passed.

  • The unchanged main controller fails the stacking-order pixel regression; the fix passes.

  • Swift package: 96 tests, one hosted-only skip, no failures; three hosted Controls tests passed.

  • Controls image-handoff tests: 52 passed; browser projection tests: 84 passed.

  • Real simulator image-pipeline verification passed, including reuse, content invalidation and file cleanup.

  • TypeScript, ESLint, Prettier, SwiftLint and package verification passed.

@rdlabo rdlabo changed the title perf(ios): shorten snapshot settling for ready independent controls fix(ios): preserve Controls snapshot drawing order Nov 10, 2026
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