Skip to content

fix(three): keep web springs animating when @react-spring/three is imported - #2602

Draft
joshuaellis wants to merge 1 commit into
refactor/1586from
fix/1586
Draft

joshuaellis wants to merge 1 commit into
refactor/1586from
fix/1586

Conversation

@joshuaellis

Copy link
Copy Markdown
Member

Why

Importing @react-spring/three no longer freezes springs from @react-spring/web while no Canvas is rendering. Springs now follow the package they come from: three springs follow React Three Fiber's frames, including XR and advance() with frameloop="never", and web springs follow the browser.

Before, three switched the one shared frame loop into React Three Fiber's demand mode as soon as it was imported, so every spring in the app waited for a Canvas to render. Globals.assign clock options, raf.advance() and update() now only reach web springs.

Resolves #1586

…ported

Importing @react-spring/three switched the shared frame loop to React Three
Fiber's demand mode, so every spring in the app froze while no Canvas was
rendering. Three now drives a clock of its own: springs from
@react-spring/three follow React Three Fiber's frames, and springs from
@react-spring/web keep following the browser.

Resolves #1586
@changeset-bot

changeset-bot Bot commented Sep 28, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 76b5918

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 8 packages
Name Type
@react-spring/three Patch
@react-spring/web Patch
@react-spring/animated Patch
@react-spring/core Patch
@react-spring/parallax Patch
@react-spring/rafz Patch
@react-spring/shared Patch
@react-spring/types Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@joshuaellis
joshuaellis added this pull request to stack #2603 September 28, 2026 18:56
@github-actions

Copy link
Copy Markdown
Contributor

Docs preview: https://pr-2602---react-spring-204644970562.europe-west1.run.app

Deployed at 71794e651336558adbaf5190c1c6ea95b8cde605. Updates on every push.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

three and web are incompatible

1 participant