Add animation curves support#4164
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces an AnimationCurve implementation, featuring keyframe-based interpolation (Linear, Constant, and Bezier) and integration into the node graph system via new nodes and registry updates. Review feedback suggests refining the evaluation logic to clamp out-of-bounds values to the nearest keyframe for better consistency and optimizing keyframe insertion using binary search to improve performance and data validation.
0105b40 to
3ddcda6
Compare
|
Note: I rebased your branch. |
|
Hey, just checking in on the latest with this, thanks! |
I haven't been able to do any development in a bit but im going to start working on this again now! |
3d256ca to
89fe16f
Compare
There was a problem hiding this comment.
3 issues found across 7 files
Confidence score: 3/5
node-graph/libraries/core-types/src/animation.rsletsAnimationCurvederiveDeserializedirectly, which can bypassinsert_keyframeordering/finite-value/dedup invariants thatevaluate()depends on forbinary_search_by; merging as-is risks incorrect curve evaluation on deserialized data — add validated/custom deserialization (or post-deserialize normalization) before merging.node-graph/preprocessor/src/lib.rsinreplace_animation_curve_inputsdoes not skipeval_curveproto nodes, making the pass non-idempotent; repeated preprocessing can re-wrap/rewrite nodes and change graph behavior unexpectedly — add the missing guard and an idempotence regression test before merging.node-graph/libraries/core-types/src/animation.rsalso has a PR-title policy violation noted by automation, which is low product risk but can still block the integration path — rename the PR title to sentence case to clear the gate.
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
e732f99 to
9039b1b
Compare
37f9383 to
da1d4f9
Compare
da1d4f9 to
964f122
Compare
57ad857 to
d91d771
Compare
A PR adding support for f-curves and a timeline
NodeInputvariant.TODO:
AnimationCurveNodeInputvariant.Demo
untitled.mp4