[FEATURE] Manually update animations without `requestAnimationFrame`
Maintainers usually reply within 1 day
@mattgperry is already working on this.
Since Oct 20, 2026.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- react, typescript
- Domain
- frontend
Research direction
No source file or test is named. Start by tracing where window.requestAnimationFrame drives Framer Motion's animation updates, then review the proposed manual-update API against the GSAP updateRoot() example. Done should provide a documented way for users to advance animations when requestAnimationFrame is unavailable.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
Framer Motion's animations stop working in scenarios where window.requestAnimationFrame isn't available.
See https://github.com/pmndrs/react-xr/issues/180 for an example of how this is an issue when using framer-motion or framer-motion-3d in a WebXR immersive session.
Describe the solution you'd like
Expose some way of manually updating animations, so users can pick an appropriate looping mechanism when requestAnimationFrame is unavailable.
Describe alternatives you've considered
n/a
Additional context
GSAP provides an .updateRoot() method for this purpose: https://gsap.com/docs/v3/GSAP/gsap.updateRoot()/
- Dominant language
- TypeScript
- Stars
- 34.4k
- Forks
- 1.4k
- Avg merge
- 21h 40m
- Merged PRs (30d)
- 125
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from motiondivision/motion
-
[FEATURE] AnimateSuspense for transitions between suspense fallbacks and streamed contentMay be free again A pull request for this issue was closed without being merged. Openfeature
Difficulty 5/5 Over a week Newbie friendliness 35/100
motiondivision/motion#3173 · 9 reactions ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
motiondivision/motion#2662 · 2 comments · 4 reactions ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
motiondivision/motion#2546 · 4 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
motiondivision/motion#2369 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 38/100
motiondivision/motion#2338 · 2 reactions ·
Maintainers usually reply within 1 day
All issues in motiondivision/motion
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
cursor/community-plugins#465 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
vetro-protocol/vetro-monorepo#978 ·
Maintainers usually reply within 1 day
-
ai-generated bug category:security effort:s priority:p3
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
LanternOps/breeze#9697 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
maniator/verticopolis#1303 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
components-web-app/docs#297 ·