Skip to content

[SET] SETBoundary#9107

Open
bartlomiejbloniarz wants to merge 10 commits intomainfrom
@bartlomiejbloniarz/set-boundary-2
Open

[SET] SETBoundary#9107
bartlomiejbloniarz wants to merge 10 commits intomainfrom
@bartlomiejbloniarz/set-boundary-2

Conversation

@bartlomiejbloniarz
Copy link
Copy Markdown
Contributor

Summary:

This PR introduces a new concept for SETs, called SharedTransitionBoundary. It is supposed to replace the current approach where we use Screens from RNScreens to separate which shared elements should be displayed. With the new approach one can still wrap a screen to get the old behavior, but also new patterns are available, such as running a SharedTransition within one RNScreen.

Main pros of this solution:

  • easier to adapt to different navigators (this allows us to use the TabNavigator with no weird native changes)
  • more customization options for users
  • no native dependency on RNScreens

Cons:

  • the minimal manual setup that has to be done to enroll a RNScreen in running transitions
  • we have to guess the target boundary when doing a native back gesture on iOS. This should not be a big problem for the usual use-case

Test Plan:

Screenless example

This PR introduces a new concept for SETs, called SharedTransitionBoundary. It is supposed to replace the current approach where we use Screens from RNScreens to separate which shared elements should be displayed. With the new approach one can still wrap a screen to get the old behavior, but also new patterns are available, such as running a SharedTransition within one RNScreen.

Main pros of this solution:
- easier to adapt to different navigators (this allows us to use the TabNavigator with no weird native changes)
- more customization options for users
- no native dependency on RNScreens

Cons:
- the minimal manual setup that has to be done to enroll a RNScreen in running transitions
- we have to guess the target boundary when doing a native back gesture on iOS. This should not be a big problem for the usual use-case

Screenless example

ghstack-source-id: 0464881
Pull Request resolved: #9036
@bartlomiejbloniarz bartlomiejbloniarz force-pushed the @bartlomiejbloniarz/set-boundary-2 branch from 155d84c to d46a639 Compare March 19, 2026 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant