Layers

Common Properties

Layer

Common properties for all layers

Composition Diagram for Layer Layer Visual Object Visual Layer Solid Layer Image Layer Precomposition Layer Null Layer Shape Layer
Attribute Type Title Description
nm string

Name

Human readable name, as seen from editors and the like

hd boolean

Hidden

Whether the layer is hidden

ty integer

Type

Layer Type

ind integer

Index

Index that can be used for parenting and referenced in expressions

parent integer

Parent Index

Must be the ind property of another layer

ip number

In Point

Frame when the layer becomes visible

op number

Out Point

Frame when the layer becomes invisible

The ty property defines the specific layer type based on the following values:

ty Type
0 Precomposition Layer
2 Image Layer
3 Null Layer
1 Solid Layer
4 Shape Layer
None Unknown layer types

Visual Layer

Layer used to affect visual elements

Composition Diagram for Visual Layer Visual Layer Layer Visual Object Solid Layer Image Layer Precomposition Layer Null Layer Shape Layer
Attribute Type Title Description
nm string

Name

Human readable name, as seen from editors and the like

hd boolean

Hidden

Whether the layer is hidden

ty integer

Type

Layer Type

ind integer

Index

Index that can be used for parenting and referenced in expressions

parent integer

Parent Index

Must be the ind property of another layer

ip number

In Point

Frame when the layer becomes visible

op number

Out Point

Frame when the layer becomes invisible

ks Transform

Transform

Layer transform

ao 0-1 integer

Auto Orient

If 1, the layer will rotate itself to match its animated position path

tt Matte Mode

Matte Mode

Defines the track matte mode for the layer

tp integer

Matte Parent

Index of the layer used as matte, if omitted assume the layer above the current one

masksProperties array of Mask

Masks

Optional array of masks for the layer.

Parenting

Layer parenting offers a way to connect layers such that the movement of one layer (child) follows the movement of another (parent). Multiple child layers can reference the same parent (this is useful for applying the same transform animation to a group of layers).

When the parent property points to another layer, the referencing layer's current transformation matrix (CTM) is composed with the parent CTM:

CTM(child)=CTM(parent)×Transform(child)

Parenting is transitive, and reference cycles are not allowed (undefined behavior).

Hidden Layers

The hidden flag hd determines whether a layer is rendered: hidden layers are not rendered as part of the normal layer tree, but their properties and content are evaluated when used as a reference target in other contexts.

Specifically, hidden layers

hd only affects the layer for which it is defined, it does not transitively apply to other referencing layers.

Mattes

A matte allows using a layer as a mask for another layer.

The way it works is the layer defining the mask has a tt attribute with the appropriate value. The layer being masked is indicated by the tp attribute, which has the index (ind) of the layer that is being masked.

Layer types

Shape Layer

Layer containing Shapes

Composition Diagram for Shape Layer Shape Layer Visual Layer Layer Visual Object
Attribute Type Title Description
nm string

Name

Human readable name, as seen from editors and the like

hd boolean

Hidden

Whether the layer is hidden

ty integer = 4

Type

Layer type

ind integer

Index

Index that can be used for parenting and referenced in expressions

parent integer

Parent Index

Must be the ind property of another layer

ip number

In Point

Frame when the layer becomes visible

op number

Out Point

Frame when the layer becomes invisible

ks Transform

Transform

Layer transform

ao 0-1 integer

Auto Orient

If 1, the layer will rotate itself to match its animated position path

tt Matte Mode

Matte Mode

Defines the track matte mode for the layer

tp integer

Matte Parent

Index of the layer used as matte, if omitted assume the layer above the current one

masksProperties array of Mask

Masks

Optional array of masks for the layer.

shapes array of Graphic Element

Shapes

Shapes

Image Layer

Layer containing an image

Composition Diagram for Image Layer Image Layer Visual Layer Layer Visual Object
Attribute Type Title Description
nm string

Name

Human readable name, as seen from editors and the like

hd boolean

Hidden

Whether the layer is hidden

ty integer = 2

Type

Layer type

ind integer

Index

Index that can be used for parenting and referenced in expressions

parent integer

Parent Index

Must be the ind property of another layer

ip number

In Point

Frame when the layer becomes visible

op number

Out Point

Frame when the layer becomes invisible

ks Transform

Transform

Layer transform

ao 0-1 integer

Auto Orient

If 1, the layer will rotate itself to match its animated position path

tt Matte Mode

Matte Mode

Defines the track matte mode for the layer

tp integer

Matte Parent

Index of the layer used as matte, if omitted assume the layer above the current one

masksProperties array of Mask

Masks

Optional array of masks for the layer.

refId string

Reference Id

ID of the image as specified in the assets

Null Layer

Layer with no data, useful to group layers together

Composition Diagram for Null Layer Null Layer Visual Layer Layer Visual Object
Attribute Type Title Description
nm string

Name

Human readable name, as seen from editors and the like

hd boolean

Hidden

Whether the layer is hidden

ty integer = 3

Type

Layer type

ind integer

Index

Index that can be used for parenting and referenced in expressions

parent integer

Parent Index

Must be the ind property of another layer

ip number

In Point

Frame when the layer becomes visible

op number

Out Point

Frame when the layer becomes invisible

ks Transform

Transform

Layer transform

ao 0-1 integer

Auto Orient

If 1, the layer will rotate itself to match its animated position path

tt Matte Mode

Matte Mode

Defines the track matte mode for the layer

tp integer

Matte Parent

Index of the layer used as matte, if omitted assume the layer above the current one

masksProperties array of Mask

Masks

Optional array of masks for the layer.

Solid Layer

Solid color, rectangle-shaped layer

Composition Diagram for Solid Layer Solid Layer Visual Layer Layer Visual Object
Attribute Type Title Description
nm string

Name

Human readable name, as seen from editors and the like

hd boolean

Hidden

Whether the layer is hidden

ty integer = 1

Type

Layer type

ind integer

Index

Index that can be used for parenting and referenced in expressions

parent integer

Parent Index

Must be the ind property of another layer

ip number

In Point

Frame when the layer becomes visible

op number

Out Point

Frame when the layer becomes invisible

ks Transform

Transform

Layer transform

ao 0-1 integer

Auto Orient

If 1, the layer will rotate itself to match its animated position path

tt Matte Mode

Matte Mode

Defines the track matte mode for the layer

tp integer

Matte Parent

Index of the layer used as matte, if omitted assume the layer above the current one

masksProperties array of Mask

Masks

Optional array of masks for the layer.

sw integer

Width

Solid rectangle width

sh integer

Height

Solid rectangle height

sc Hex Color

Color

Solid fill color

Precomposition Layer

Layer that renders a Precomposition asset

Composition Diagram for Precomposition Layer Precomposition Layer Visual Layer Layer Visual Object
Attribute Type Title Description
nm string

Name

Human readable name, as seen from editors and the like

hd boolean

Hidden

Whether the layer is hidden

ty integer = 0

Type

Layer type

ind integer

Index

Index that can be used for parenting and referenced in expressions

parent integer

Parent Index

Must be the ind property of another layer

ip number

In Point

Frame when the layer becomes visible

op number

Out Point

Frame when the layer becomes invisible

ks Transform

Transform

Layer transform

ao 0-1 integer

Auto Orient

If 1, the layer will rotate itself to match its animated position path

tt Matte Mode

Matte Mode

Defines the track matte mode for the layer

tp integer

Matte Parent

Index of the layer used as matte, if omitted assume the layer above the current one

masksProperties array of Mask

Masks

Optional array of masks for the layer.

refId string

Reference Id

ID of the precomp as specified in the assets

w integer

Width

Width of the clipping rect

h integer

Height

Height of the clipping rect

sr number

Time Stretch

Time Stretch

st number

Start Time

Start Time

tm Scalar

Time Remap

Timeline remap function (frame index -> time in seconds)

Time Stretch

The st property specifies a start time offset, while sr defines a time stretch factor, to be applied when evaluating animated properties pertaining to the layer:

t=tstretchstart

sr values less than 1 increase the layer playback speed, while values greater than 1 decrease it ("stretching" the layer timeline).

Time Remap

The tm property specifies a time remap function as an animatable property, allowing full control over the precomp timeline (subset, speedup/slowdown, reverse, frame-freeze, or any other arbitrary transformation).

It maps the current layer time (in the frame index [ipop] domain) to a precomp time expressed in seconds, and evaluates all animatable precomp properties based on the new time value:

tm:[ipop]seconds t=tm(t)·FPS

Note: the global frame rate factor FPS (Animation fr property) is required to convert back into the frame index domain.

When both time stretch (sr) and time remap (tm) are specified, time stretch is applied first.