Skip to content

Enables Basic View Transition support for React Native Fabric renderer#35764

Open
zeyap wants to merge 14 commits intofacebook:mainfrom
zeyap:view-transition-fabric
Open

Enables Basic View Transition support for React Native Fabric renderer#35764
zeyap wants to merge 14 commits intofacebook:mainfrom
zeyap:view-transition-fabric

Conversation

@zeyap
Copy link

@zeyap zeyap commented Feb 11, 2026

Summary

Enables Basic View Transition support for React Native Fabric renderer.

Implemented:

  • Added FabricUIManager bindings for view transition methods: measureInstance, applyViewTransitionName, startViewTransition, restoreViewTransitionName, and cancelViewTransitionName
  • Implemented startViewTransition with proper callback orchestration (mutation → layout → afterMutation → spawnedWork → passive)
  • Added fallback behavior that flushes work synchronously when Fabric's startViewTransition returns false (e.g., when the ViewTransition ReactNativeFeatureFlag is not enabled)
  • Added Flow type declarations for new FabricUIManager methods

Stubbed with __DEV__ warnings (not yet implemented):

  • cancelRootViewTransitionName
  • restoreRootViewTransitionName
  • cloneRootViewTransitionContainer
  • removeRootViewTransitionClone
  • measureClonedInstance
  • hasInstanceChanged
  • hasInstanceAffectedParent
  • startGestureTransition
  • stopViewTransition
  • getCurrentGestureOffset

This allows React Native apps using Fabric to leverage the View Transition API for coordinated animations during state transitions, with graceful degradation when the native side doesn't support it.

Below are diagrams of proposed architecture in fabric, and observation of what/when config functions get called during a basic shared transition example
Untitled-2026-02-11-1156

How did you test this change?

  • yarn flow fabric - Flow type checks pass
  • yarn lint - Lint checks pass
  • Manually tested in Android catalyst app with enableViewTransition in ReactFeatureFlags.test-renderer.native-fb.js and View Transition enabled via ReactNativeFeatureFlag
  • Verified in the minified ReactFabric-dev.fb.js that the 'shim' config functions are not included
  • Verified fallback behavior logs warning in __DEV__ and flushes work synchronously when ViewTransition flag isn't enabled in Fabric

@meta-cla meta-cla bot added the CLA Signed label Feb 11, 2026
@react-sizebot
Copy link

react-sizebot commented Feb 11, 2026

The size diff is too large to display in a single comment. The GitHub action for this pull request contains an artifact called 'sizebot-message.md' with the full message.

Generated by 🚫 dangerJS against c730c17

@jackpope jackpope self-requested a review February 18, 2026 21:29
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 25, 2026
Summary:
Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 25, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 25, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 25, 2026
facebook#55742)

Summary:
Pull Request resolved: facebook#55742

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component.

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 25, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 25, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 25, 2026
facebook#55742)

Summary:
Pull Request resolved: facebook#55742

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component.

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 25, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 26, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 26, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 26, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 26, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 26, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 27, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 27, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 27, 2026
facebook#55742)

Summary:
Pull Request resolved: facebook#55742

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component.

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 27, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 27, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 27, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 27, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Feb 27, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:
Pull Request resolved: facebook#55742

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component.

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:
Pull Request resolved: facebook#55742

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component.

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:
Pull Request resolved: facebook#55742

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component.

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 2, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 3, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 3, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
zeyap added a commit to zeyap/react-native that referenced this pull request Mar 3, 2026
facebook#55742)

Summary:

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component. 

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193
meta-codesync bot pushed a commit to facebook/react-native that referenced this pull request Mar 3, 2026
#55742)

Summary:
Pull Request resolved: #55742

Changelog:
[General] [Added] - Add UIManagerViewTransitionDelegate interface and View Transition APIs

Adds `UIManagerViewTransitionDelegate` interface and View Transition APIs to UIManager, enabling integration with React reconciler's `<ViewTransition/>` component.

Exposes JSI bindings in UIManagerBinding, which will be consumed by react fabric renderer (facebook/react#35764)
- `measureInstance` - returns layout metrics and calls `captureLayoutMetricsFromRoot` to capture snapshot
- `applyViewTransitionName` / `cancelViewTransitionName` / `restoreViewTransitionName` - manage transition name registration
- `startViewTransition` - orchestrates transition lifecycle with mutation/ready/complete callbacks

The delegate methods are gated by the `viewTransitionEnabled` feature flag.

Reviewed By: sammy-SC

Differential Revision: D92537193

fbshipit-source-id: 3124ab4d65b554602a50bd2f67ab2fa537708f88
@zeyap zeyap force-pushed the view-transition-fabric branch 2 times, most recently from 143065d to def44a1 Compare March 5, 2026 20:14
@zeyap zeyap force-pushed the view-transition-fabric branch from c730c17 to efe355f Compare March 6, 2026 14:08
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.

3 participants