Page MenuHomePhabricator

Updated 1,877 Days AgoPublic

Every type of layer has the same basic qualities.

  • It can be pointed to by a LayerInstance.
  • It contains something, usually a single data structure.
  • It can be transformed via a matrix.

The following is a list of the layer types for Anari.

NOTE: At the moment, I have not added any of the layer types we'd be borrowing from Synfig Studio.

Collection Layer

Contains a FlexMap of static layers.

A Collection Layer contains frames, like an SOL, but it does not sync with the external timeline. Instead, these frames are called directly using an externally-accessible parameter. This allows for accelerated lip-sync and similar behavior, much like Keyframe Caddy is for Flash.

This will also accelerate GUI design by creating a button or similar such element in a collection layer, and linking interactive events to frames. (This also defeats the infamous "frame 1 glitch" present in Flash.)

Rig Layer

Contains a Skeleton (tree).

A rig layer contains the skeleton, static layers, and collection layers that make up a single posable character. The advantage of a dedicated rig layer is (besides performance) that we can build the GUI to allow clicking a layer and seeing/changing all of the contained collections, such as eyes and mouths.

Static Layer

Contains a FlexBit of Anari drawing instructions.

Timeline Layer

Contains a Timeline.

There are two behaviors for this type of layer.


This mode contains completely independent timeline, with its own frames and layers. This allows for the timeline in a Timeline Layer to be controlled separately from the external timeline that contains the layer. (This is analogous in some ways to Flash's "MovieClip" symbol.)


This mode keeps the layer's frames in sync with the timeline the layer is contained in. (This is analogous in some ways to Flash's "Graphic" symbol.)

Observe the following example. * indicates where the Timeline Layer is added.

External Frame #12345*67891011121314151617181920
Timeline Frame #12345678910111213141516
Last Author
Last Edited
Jun 24 2017, 11:26 AM

Event Timeline

jcmcdonald moved this document from Layers.
jcmcdonald edited the content of this document. (Show Details)
jcmcdonald edited the content of this document. (Show Details)