Skip to content

Bezier curves for value interpolation over time #295

@caryoscelus

Description

@caryoscelus

Currently Synfig uses complicated waypoint interpolation system, which is both confusing to edit (that's admittedly UI issue (#267), but nobody seems to be interested in fixing it for a long time) and hard to maintain (code is pretty messed up there). So while working on #272 i decided to switch to interpolation using bezier curves, which should be easier to understand and to make GUI for, as well as to implement and maintain.

From technical point of view, this reduces waypoints to holding a link to valuenode which does all the interpolating work. TimeCurve node (better name suggestions are welcome) is introduced to replace user-editable interpolation. Many current waypoints will be replaced by TimeCurve knots.

Throwing out current waypoint interpolation modes (it's necessary not for TimeCurve introduction, but for #272) will introduce incompatibility. Converter can be made, but required accuracy of it should be further evaluated, depending on whether there is actually any demand for it.

Code: https://github.com/caryoscelus/synfig-playground

timecurve


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions