Skip to content

Defer timing animation start through JS Animated (#57003)#57003

Closed
zeyap wants to merge 2 commits into
react:mainfrom
zeyap:export-D106825746
Closed

Defer timing animation start through JS Animated (#57003)#57003
zeyap wants to merge 2 commits into
react:mainfrom
zeyap:export-D106825746

Conversation

@zeyap

@zeyap zeyap commented May 29, 2026

Copy link
Copy Markdown
Contributor

Summary:

Wire animatedDeferStartOfTimingAnimations through the JS Animated layer: AnimatedValue arms a one-shot __deferAnimationStart, and TimingAnimation forwards deferredStart in the native animation config so the native FrameAnimationDriver defers its start to the first rendered frame. Gated behind the runtime flag (default off). Adds Fantom integration tests asserting the behavior with the flag on and off.

Changelog: [Internal]

Reviewed By: christophpurrer

Differential Revision: D106825746

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label May 29, 2026
@meta-codesync

meta-codesync Bot commented May 29, 2026

Copy link
Copy Markdown

@zeyap has exported this pull request. If you are a Meta employee, you can view the originating Diff in D106825746.

@meta-codesync meta-codesync Bot changed the title Defer timing animation start through JS Animated Defer timing animation start through JS Animated (#57003) May 29, 2026
@zeyap zeyap force-pushed the export-D106825746 branch from acd3036 to 9e36b92 Compare May 29, 2026 17:35
zeyap added a commit to zeyap/react-native that referenced this pull request May 29, 2026
Summary:

Wire `animatedDeferStartOfTimingAnimations` through the JS Animated layer: `AnimatedValue` arms a one-shot `__deferAnimationStart`, and `TimingAnimation` forwards `deferredStart` in the native animation config so the native `FrameAnimationDriver` defers its start to the first rendered frame. Gated behind the runtime flag (default off). Adds Fantom integration tests asserting the behavior with the flag on and off.

## Changelog:

[Internal] [Changed] - Defer timing animation start through JS Animated

Differential Revision: D106825746
@zeyap zeyap force-pushed the export-D106825746 branch from 9e36b92 to 275aed3 Compare May 29, 2026 17:54
zeyap added a commit to zeyap/react-native that referenced this pull request May 29, 2026
Summary:

Wire `animatedDeferStartOfTimingAnimations` through the JS Animated layer: `AnimatedValue` arms a one-shot `__deferAnimationStart`, and `TimingAnimation` forwards `deferredStart` in the native animation config so the native `FrameAnimationDriver` defers its start to the first rendered frame. Gated behind the runtime flag (default off). Adds Fantom integration tests asserting the behavior with the flag on and off.

## Changelog:

[Internal] [Changed] - Defer timing animation start through JS Animated

Differential Revision: D106825746
@zeyap zeyap force-pushed the export-D106825746 branch from 275aed3 to c28a811 Compare May 29, 2026 18:36
zeyap added a commit to zeyap/react-native that referenced this pull request May 29, 2026
Summary:

Wire `animatedDeferStartOfTimingAnimations` through the JS Animated layer: `AnimatedValue` arms a one-shot `__deferAnimationStart`, and `TimingAnimation` forwards `deferredStart` in the native animation config so the native `FrameAnimationDriver` defers its start to the first rendered frame. Gated behind the runtime flag (default off). Adds Fantom integration tests asserting the behavior with the flag on and off.

## Changelog:

[Internal] [Changed] - Defer timing animation start through JS Animated

Differential Revision: D106825746
@meta-codesync meta-codesync Bot changed the title Defer timing animation start through JS Animated (#57003) Defer timing animation start through JS Animated Jun 5, 2026
@zeyap zeyap force-pushed the export-D106825746 branch from c28a811 to 5555f0f Compare June 5, 2026 14:43
zeyap added 2 commits June 5, 2026 08:46
Summary:

Add the `animatedDeferStartOfTimingAnimations` common (native + JS) feature flag (default off). On its own this is a no-op; it gates deferring the start of native-driven timing animations to the first rendered frame, implemented in the following diffs.

The flag is defined as a `common` flag (not JS-only) so the same value can be read from both the JS Animated layer and the native C++ animation code. This diff includes all the generated accessors, regenerated via `yarn featureflags --update`: Kotlin (`ReactNativeFeatureFlags*.kt`), C++ (`ReactNativeFeatureFlags*.h`/`.cpp` and the JNI interop), the JS `ReactNativeFeatureFlags.js`, and the native module spec.

Changelog: [Internal]

Reviewed By: rubennorte

Differential Revision: D106825629
Summary:

Wire `animatedDeferStartOfTimingAnimations` through the JS Animated layer: `AnimatedValue` arms a one-shot `__deferAnimationStart`, and `TimingAnimation` forwards `deferredStart` in the native animation config so the native `FrameAnimationDriver` defers its start to the first rendered frame. Gated behind the runtime flag (default off). Adds Fantom integration tests asserting the behavior with the flag on and off.

Changelog: [Internal]

Reviewed By: christophpurrer

Differential Revision: D106825746
@meta-codesync meta-codesync Bot changed the title Defer timing animation start through JS Animated Defer timing animation start through JS Animated (#57003) Jun 5, 2026
@zeyap zeyap force-pushed the export-D106825746 branch from 5555f0f to 5d481e3 Compare June 5, 2026 15:46
@meta-codesync meta-codesync Bot closed this in 1409118 Jun 5, 2026
@meta-codesync

meta-codesync Bot commented Jun 5, 2026

Copy link
Copy Markdown

This pull request has been merged in 1409118.

@facebook-github-tools facebook-github-tools Bot added the Merged This PR has been merged. label Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant