Layers

Common Properties

Layer

Common properties for all layers

Composition Diagram for Layer Layer Visual Object Visual Layer Image Layer Solid Layer Shape Layer Precomposition Layer Null 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 (inclusive).

op number

Out Point

Frame when the layer becomes invisible (exclusive). The layer is visible while ip <= t < op.

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

Visibility Range

A layer is visible on frame t when ip <= t < op. The ip (In Point) boundary is inclusive, and the op (Out Point) boundary is exclusive — the frame at op is NOT rendered. This matches the Animation-level ip/op semantics.

op MUST NOT be less than ip.

Visual Layer

Layer used to affect visual elements

Composition Diagram for Visual Layer Visual Layer Layer Visual Object Image Layer Solid Layer Shape Layer Precomposition Layer Null 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 (inclusive).

op number

Out Point

Frame when the layer becomes invisible (exclusive). The layer is visible while ip <= t < op.

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.

bm Blend Mode

Blend Mode

Blend Mode

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 (inclusive).

op number

Out Point

Frame when the layer becomes invisible (exclusive). The layer is visible while ip <= t < op.

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.

bm Blend Mode

Blend Mode

Blend Mode

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 (inclusive).

op number

Out Point

Frame when the layer becomes invisible (exclusive). The layer is visible while ip <= t < op.

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.

bm Blend Mode

Blend Mode

Blend Mode

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 (inclusive).

op number

Out Point

Frame when the layer becomes invisible (exclusive). The layer is visible while ip <= t < op.

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.

bm Blend Mode

Blend Mode

Blend Mode

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 (inclusive).

op number

Out Point

Frame when the layer becomes invisible (exclusive). The layer is visible while ip <= t < op.

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.

bm Blend Mode

Blend Mode

Blend Mode

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 (inclusive).

op number

Out Point

Frame when the layer becomes invisible (exclusive). The layer is visible while ip <= t < op.

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.

bm Blend Mode

Blend Mode

Blend Mode

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 half-open frame index [ip,op) domain) to a precomp time expressed in seconds, and evaluates all animatable precomp properties based on the new time value:

tm:[ip,op)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.