Skip to Content
Projects & historyTemplates & components

Templates & components

Two different kinds of reuse.

TemplateComponent
What it isA composition with selected properties exposed as named fieldsA saved subtree you can reinsert
Who edits itSomeone filling in fields, not building animationWhoever is building the scene
AnalogyAn Essential Graphics template / MOGRTA symbol or a saved group

Templates

Build a composition once, expose the fields that should change per output — text, colours, numbers and media — then fill them per output.

The end user of a template edits only the exposed fields. Everything else is locked, so the animation cannot be broken by someone who only needed to change a name.

A field is a named, typed, addressable write target — not a note about which layer to edit — which is what makes everything below possible without a second mechanism.

Filling from a data table

Nobody asks to bind a spreadsheet they will never change; they ask to make forty lower-thirds. Load a CSV in the template panel and apply a row.

Column typeResult
Text, colour, numberApplied
MediaReported as skipped, so the limit is visible rather than silent

One row is one undo entry, not one per field — “apply this row” is the action you took. A row that writes nothing leaves no empty step on the stack at all.

The CSV reader is deliberately strict where being lenient would corrupt real data:

  • Quoting is handled properly — a cell containing Lovelace, Ada, an escaped quote, or a pasted description with a newline in it survives.
  • Duplicate or blank headers are refused, not resolved. Silently dropping a column you can see in your own file is the worst kind of wrong, because nothing on screen says so.
  • A blank numeric cell means “no value”, and is skipped. Read as a number it would be zero — which would move a layer to the origin with nothing to explain it.

Protected time regions

Mark the parts of a template’s timing that must survive a retime. The end user can stretch the template to the duration they need without the parts that were timed to something external — a logo hold, a beat, a legal card — being stretched with it.

Media slots

A media slot is an exposed placeholder that reframes whatever you drop into it. The author picks a fit policy when exposing the placeholder; the filler drops in a source and it lands framed, rather than being forced into the placeholder’s authored box — which is how a 9:16 phone recording used to end up squashed into a 16:9 placeholder for the filler to correct by hand.

PolicyResult
Contain (default)The whole source fits inside the slot, letterboxing if the aspect ratios differ
CoverThe slot is filled edge to edge and the overflow is cropped, in texture space
NativeThe source keeps its own pixel size

There is deliberately no Stretch. It exists only to distort, which Native plus a scale already gives, so adding it would mostly be a way to get a wrong result by accident.

Slots take video, stills, image sequences and whole compositions — the fit asks the source for an intrinsic size rather than branching on the kind of layer, so a video placeholder (the obvious thing to want in a product-launch template) is exposable.

The slot’s frame is the placeholder’s own box, not the composition. A slot is usually a phone screen in a mockup or a card in a grid, so fitting to the composition would give the right shape in the wrong place. The authored box is captured when the slot is declared, which is what makes re-filling reframe from the original rect instead of nesting each fill inside the last one’s result.

Filling a slot never touches the author’s animation. A placeholder is frequently animated, and writing the fit into position, scale or rotation would either overwrite the author’s keyframes or be overwritten by them on every frame. The fit composes underneath.

Masked slots: a mask is an aperture

A slot is often a masked region. A mask path is authored geometry, and filling a slot never touches it — so the aperture holds still while the content refits inside it. That is what you want: a mask that resized with the content would change the shape of the phone’s screen every time someone dropped in a differently-shaped clip.

For a masked slot, choose Cover. It leaves the layer’s box exactly at the aperture and crops in texture space, so the content fills the cutout with no gap and nothing for the mask to have to hide.

  • Contain inside a mask is safe but can under-fill — the fitted box may be smaller than the aperture, letterboxing inside the cutout and showing whatever sits behind it. It can never spill, because a mask only ever removes pixels.
  • Native inside a mask is the deliberate “let the aperture do the cropping” choice: the content keeps its own pixel size and the mask decides how much of it you see.

Live preview cards

Template cards animate live, rendered from the actual composition through the real snapshot builder at a shared 30 fps, drawn through a Canvas2D backend. They are real frames, not recordings.

When to use one

  • The same graphic goes out with different copy, repeatedly — lower thirds, title cards, social variants.
  • Someone who is not a motion designer needs to produce a variant.
  • You are producing a batch: build once, fill fields, queue the renders. See Render queue.

Components

Save any subtree as a reusable component. Thumbnails are generated automatically, and components are reinserted from the Components panel.

Use components for the pieces that recur within your own work: a styled button, a card, a badge, a logo lockup with its rig already on it.

Composition instances

A third, lighter option. Insert → Composition instance puts composition A inside composition B by reference.

  • The same composition can be instanced more than once.
  • Change the source and every instance follows.
  • AE-style stacking rules apply.

Picking between them

You wantUse
One graphic, many copy variants, filled by someone elseTemplate
A reusable piece you drop into scenes and then customiseComponent
One thing that appears in several places and must stay in syncComposition instance
Last updated on