Repository navigation
fix: preserve modal rail ownership through transparent image handoffs - #31
Merged
Merged
Conversation
rdlabo
marked this pull request as ready for review
November 9, 2026 00:56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.