Synfig File format
A .sif file is the XML representation of a canvas. It holds the canvas's metadata, such as width and height, as well as information about its layers. Typically, a Synfig production comprises many .sif files joined in a sequence or nested within each other.
The .sif format is formidably complex and evolving. It is implementation-defined rather than spec-defined. Therefore, you should take everything on this page with a grain of salt. Indeed, the implementation can change at any point.
There are no plans to freeze the format.
The .sif format is implemented by the following file:
Linking / Exporting
.sif files aren't always self-contained. They can link to parts of other .sif files, which creates a dependency of one on the other. This may seem strange to animators who use Flash because, in Flash, animation files are usually self-contained.
One drawback of Synfig's approach is that .sif dependencies are hard to track. A tool called RenderChan solves this problem.
Recursion of .sif files is prohibited.
Synfig recognizes .sifz as the extension of gzip-compressed .sif files. New and alternate implementations of .sif are urged to support this compression, although it is not required.
The top element of a .sif file is always a <canvas>.
<?xml version="1.0"?> <canvas version="0.1" width="300" height="350" xres="2952.7559" yres="2952.7559" view-box="-1.5 2.5 1.5 -1" antialias="2" fps="12" begin-time="0f" end-time="0f" bgcolor="0.5 0.5 0.5 1"> ... </canvas>
|Attribute||Default||What it is|
|version||no default, this attribute is required||0.1, always|
|width||480||the width of the canvas in pixels|
|height||270||the height of the canvas in pixels|
|xres||2835||the width of the canvas in pixels per meter|
|yres||2835||the height of the canvas in pixels per meter|
|view-box||-4 2.25 4 -2.25||the bounding coordinates of the canvas (left top right bottom)|
|antialias||2||how hard Synfig should try to antialias the image|
|fps||24||frames per second|
|begin-time||0||where on the timetrack should rendering start|
|end-time||0||what on the timetrack should rendering end|
|bgcolor||0.5 0.5 0.5 1.0||the color of the background in RGBA|
|focus||0 0||the anchor point for changing the view-box|
Inside a <canvas> you can find the following elements:
The short name of the canvas.
<canvas version="0.1"> ... <name>Aqua Sphere</name> ... </canvas>
Metadata for the Synfig Studio editor. These can be safely ignored by other implementations.
<canvas version="0.1"> ... <meta name="grid_show" content="1" /> ... </canvas>
Synfig Studio recognizes these <meta> names (source):
The name of the canvas's author.
<canvas version="0.1"> ... <author>King Arthur</author> ... </canvas>
A human-readable description of the canvas.
<canvas version="0.1"> ... <desc>This aqua-colored sphere reminds me of something from Mac OS X.</desc> ... </canvas>
Layers describe the shapes and effects on a canvas.
<canvas version="0.1"> ... <layer type="solid_color" version="0.1" ... </canvas>
|Attribute||Default||What it is|
|type||no default||see the list of types|
|version||no default||depends on the layer type|
|group||the name of the group that this layer belongs to|
|desc||a human-readable description|
|active||true||whether the layer is selected (?)|
|exclude_from_rendering||false||whether it should be rendered|