Skip to content

feat(motion): native spring integrator and GELATIN preset - #34

Open
professorpalmer wants to merge 2 commits into
remorses:mainfrom
professorpalmer:feat/motion-springs
Open

feat(motion): native spring integrator and GELATIN preset#34
professorpalmer wants to merge 2 commits into
remorses:mainfrom
professorpalmer:feat/motion-springs

Conversation

@professorpalmer

Copy link
Copy Markdown

motion.div transition={{ type: 'spring', stiffness, damping, mass }}.

GELATIN { stiffness: 28, damping: 8, mass: 1.25 } is underdamped gel. Overdamped ~13/14/1 for micro UI.

JS stepSpring plus a native motion.rs integrator. The frame loop pumps onFrame. Proven in Automaton on published 0.6.0 channels (width / height / opacity / left / top / right / bottom / borderRadius). No scale/rotate. No metal CI on this machine.

professorpalmer and others added 2 commits September 9, 2026 22:01
Unsubscribe onFrame when every spring channel settles, skip setCurrent
for unchanged integer px/opacity, and hard-settle leftover GELATIN crawl
so GPUI is not rebuilt every frame. Tween motion.div is unchanged.

Co-authored-by: Cary Palmer <professorpalmer@users.noreply.github.com>
@professorpalmer

Copy link
Copy Markdown
Author

Rebased feat/motion-springs onto current main (resolved renderer.ts: kept main's WindowKeyEventHandlers + tick try/catch, kept pumpFrames for spring lease parking). Tip is now d38c15f. Motion-spring vitest 8/8 locally. Ready when you want to review/merge + publish (Automaton is temporarily vendoring a 0.6.1 park build until an npm release exists).

professorpalmer added a commit to professorpalmer/Automaton that referenced this pull request Sep 13, 2026
Hold file:vendor/gpuix-react-0.6.1.tgz — npm 0.7.0 lacks motion-spring
lease-park; remorses/gpuix#34 is still open. Document drop criteria;
never ask NPM_TOKEN for @gpuix. Stay on 0.3.0.

Co-authored-by: Cary Palmer <professorpalmer@users.noreply.github.com>
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.

1 participant