Motion graphics are a fairly standard and popular thing to add in apps, particularly with native frameworks.
It would be nice to have support for the assortment of features that come with the concept:
- Timelines
- With properties assigned to a point in time.
- With support for start, stop, reset, repeat with a number of cycles and infinite cycles.
- With conversion support between keyframes + frame rates and seconds.
- Easing
- For easily developing pre-canned timelines
- Examples from CSS: https://easings.net/
- Animations within the
LookAndFeel
to allow complex UIs:- Buttons
- eg: Fade in and out, not just opacity but points in a gradient (or whatever you want).
- Smoothly scrolling list boxes, viewports, etc…
- Adding overpull support to the liking.
- Animations can be locked/synced together (ie incremented per frame) or optionally freely ran
- Buttons
It would also be fun to tie to a ValueTree
(or similar or related structure) so you can map property changes - such as visibility, opacity, scale, translation, and rotation - to existing timeline systems (eg: AfterEffects, Figma, Blender, Maya, etc…)
This kind of feature set could/should lend itself to easy representation in a UI for editing, or just for helpful display purposes (ie: with some Component
derivative that can control or just show the Timeline
’s details or whatever).
Existing example approaches in JUCE world: