Skip to content

Conversation

sebmarkbage
Copy link
Collaborator

@sebmarkbage sebmarkbage commented Sep 20, 2025

Stacked on #34543.

For the startGestureTransition API, we previously illustrated this in the "Blocking" track because the render itself is blocking. However, it's possible to have updates coming into the blocking track while a gesture is animating (e.g. the setInterval in the fixture). It's therefore useful to be able to visualize the Gesture on its own track so that we can show sync updates at the same time as the animation.

We could potentially merge this with the Transition track but I find that a bit misleading. Especially since a Gesture would often then be followed by a Transition right after. So I added a separate track for it. It is its own lane after all. Although it's possible that maybe this track becomes the same as the Optimistic track if that's ever extracted out of sync.

Screenshot 2025-09-20 at 1 26 49 PM

@meta-cla meta-cla bot added the CLA Signed label Sep 20, 2025
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Sep 20, 2025
@react-sizebot
Copy link

react-sizebot commented Sep 20, 2025

Comparing: d91d28c...fdcef1c

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.68 kB 6.68 kB = 1.83 kB 1.82 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 534.43 kB 534.43 kB = 94.34 kB 94.33 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 663.68 kB 663.68 kB = 117.01 kB 117.00 kB
facebook-www/ReactDOM-prod.classic.js = 687.59 kB 687.59 kB = 121.04 kB 121.04 kB
facebook-www/ReactDOM-prod.modern.js = 678.02 kB 678.02 kB = 119.40 kB 119.39 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-experimental/react-art/cjs/react-art.development.js +0.86% 715.59 kB 721.74 kB +0.52% 113.04 kB 113.63 kB
oss-experimental/react-reconciler/cjs/react-reconciler.development.js +0.74% 842.30 kB 848.53 kB +0.42% 131.73 kB 132.29 kB
oss-experimental/react-reconciler/cjs/react-reconciler.profiling.js +0.67% 552.88 kB 556.57 kB +0.45% 86.44 kB 86.84 kB
oss-experimental/react-dom/cjs/react-dom-client.development.js +0.51% 1,224.99 kB 1,231.24 kB +0.29% 204.12 kB 204.72 kB
oss-experimental/react-dom/cjs/react-dom-profiling.development.js +0.50% 1,241.37 kB 1,247.62 kB +0.30% 206.92 kB 207.54 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.development.js +0.50% 1,241.53 kB 1,247.78 kB +0.31% 207.74 kB 208.39 kB
oss-experimental/react-dom/cjs/react-dom-profiling.profiling.js +0.47% 736.29 kB 739.78 kB +0.31% 127.67 kB 128.06 kB

Generated by 🚫 dangerJS against fdcef1c

@sebmarkbage
Copy link
Collaborator Author

This still keeps GestureLane in the includesBlockingLane helpers for the purposes of checking for non-yieldiness. That's why all the Performance Track has to check isGestureRender and only fallback to checking if it's a blocking lane if not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants