Anatomy of a Synfig Animation
Before attempting to use Synfig Studio to create an animation, it is worthwhile to get a basic understanding of what a Synfig animation is, the names of its various parts, and how the parts fit together.
Synfig files are called "documents" or simply animation source files in the wiki. Synfig can use these files to "render" the frames in an animated GIF or a video.
In each Synfig document there must be at least one canvas (called the root canvas). A canvas is defined by the default width and height of the rendered frames, the default frequency for sampling the contents of the canvas when rendering (the frames per second), the animation duration (start and end times), other parameters, and a stack of layers that are combined on the canvas to render each frame.
There are two types of layers: Primitive and Filters. Primitives, such as shapes and gradients, produce content based on their own parameters. Filter layers, such as blur and rotate layers, produce content based on their own parameters and on the context of the layer. The context of a layer is the rendered result of the layers that are stacked behind it.
There is one special kind of layer that is called a Paste Canvas layer. It is a folder-like layer that uses the rendered result of all the layers in another canvas. The other canvas can be:
- the root canvas of another document,
- an internal separate canvas, called an "exported canvas", that can be used at several different places in the same document,
- an exported canvas in another document, or
- an "inline canvas" that takes the default definitions (dimensions, frames per second, etc.) inherited from the canvas containing the Paste Canvas layer
All the layers inside the canvas held by a Paste Canvas Layer, are called children layers of the Paste Canvas layer.
The Context of a layer is defined by the canvas where it lives. It is the rendered result of layers that are behind it. If the layer is a child of a Paste Canvas layer, its context is the sibling layers (i.e. other children of the same Paste Canvas layer) which are behind it.
Treated as a layer, a Paste Canvas is like a "super layer". Its rendered result is based on its context, parameters, and the rendered result of its children.
The layers of a canvas are used for the entire duration of the canvas. In other words, the same layers are used to render all frames. However, each layer can be animated by the animation of its parameters. The animation of a parameter is determined by a list of 'waypoints' associated with the parameter. Each waypoint defines the value of the parameter value at a certain time. Synfig automatically interpolates parameter values between waypoints.
Many types of layers have a parameter called the "blend method" parameter. The blend method defines how a layer is combined with its context. The default blend method, composite, effectively places the layer in front of its context, letting the context show through only where the layer is transparent. However, there are other blend methods that do other effects like masks, shading, etc.
To summarize, when Synfig renders an animation from a Synfig document it renders each frame using the layers in the root canvas and their interpolated parameter values.