Modular symbol animation

I’m new to Synfig and vector animation in general, so this might be misunderstood circumstances/previously answered/harder than I thought (besides being a field that I probably shouldn’t be attempting yet), but would it be possible to incorporate symbols—as I imagine they work—allowing pieces like mouths to jump from one frame to another without extra animation of an extra canvas?

To try to explain more clearly, I’ve seen the page “Reuse Animations” on the wiki, and it seems to be a basic version of what I’m imagining. Parts of the object are created on a sub-canvas, and in the beginning of that object-specific timeline, various frames are used for different states (“open” and “closed” in that example). However, it appears that in order to animate the object, those keyframes need to be duplicated within that canvas, as it is impossible to access them from the main project. I have seen a video on Youtube (using AI) that appears to be talking about the same thing (construction notes are at 1:47), but it sounds as though it is possible to select frames individually to the main timeline (at 3:10). Would it be more difficult than it is worth to (eventually) allow this in Synfig as well? I can see that it may be troublesome to differentiate between when the user wants to include just that frame (and if it should morph to the next) or when he or she instead wants to start an animation at that point (and when it should stop/loop), but I do not believe that this or other similar problems would be insurmountable.

The problem is that the current concept of symbol in Synfig are governed by the keyframes and they are canvas specific. That’s why the reuse animation tutorial talks about copy keyframes on its own canvas.

I would extend the concept of keyframes not for canvas but for layers. So only selected layers would copy and paste the symbol.
We need to define one new type of waypoint: the reference waypoint. Currently it is possible to export a waypoint and reuse it several times later on the timeline but the interface for that is very rough. Waypoints are like values a node type and so can be exported (even animated!) but they are difficult to control under the current interface.

Ideally you would define a reference keyframe where the waypoints that lie there are references waypoints. Once defined it would be possible to reuse them only for the selected layers by one automatic operation: Insert reference from keyframe “A” for the selected layers at time T.

It is only needed to code it :slight_smile: