Skip to content

fix: preserve modal rail ownership through transparent image handoffs - #31

Merged
rdlabo merged 7 commits into
mainfrom
fix/modal-transparent-capture
Nov 9, 2026
Merged

rdlabo merged 7 commits into
mainfrom
fix/modal-transparent-capture

Conversation

@rdlabo

@rdlabo rdlabo commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Modal rail images can carry a rectangular window backdrop, diverge from the moving dialog, or leave the underlying navigation hidden after dismissal.

Use transparent renderer-view capture and keep moving images on the Modal surface. Source ownership stays Native through presentation, dismissal and drag/snap motion; placement follows the measured Native anchors and the theme's reserved boundary. Entry and return use Engine's common prepared-image handoff. Keep late UIKit backing surfaces transparent with the existing shared policy, and use the current image lease when retiring controls so an ended token cannot stall the return to the underlying page.

Page rails retain composited capture and shadows. Ordinary controls retain their existing route. Transparent capture preserves exterior alpha but cannot reproduce live Liquid Glass refraction; brief double-composited edges remain a known visual limitation.

Tests cover ownership retention, stale acknowledgements, geometry, rapid handoff reversal, source retirement and shared-rail updates. Local validation and supervisor/independent acceptance reviews passed against the matching Engine worktree.

Uses the published Engine 1.0.4 across npm, SwiftPM, CocoaPods and Android Maven. Latest main, including the tab badge fix, is incorporated. Local build, 450 tests, package archive verification and SwiftPM dependency verification passed against published dependencies. Plugin CI, Swift, Android and both theme integration shards all passed against published dependencies. The PR is ready for review.

@rdlabo
rdlabo marked this pull request as ready for review November 9, 2026 00:56
@rdlabo
rdlabo merged commit ee2c2e1 into main Nov 9, 2026
5 checks passed
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