Changelog
New

Place every clip with one transform

Text, shapes and pictures are positioned, scaled and turned by the same transform, which takes pixels as well as percent.

API SDK

Where a clip sits depended on what kind of clip it was. A picture used transform, text used a position inside its style, and a shape had its own position, anchor, size and rotation. Three answers to one question.

There is one answer now. Every clip is placed by its transform, whatever it holds.

{
"asset": { "type": "shape", "color": "#0A0A0ACC" },
"transform": { "size": { "width": "100%", "height": "22%" }, "position": { "x": "50%", "y": "86%" } }
}
  • position takes pixels as plain numbers as well as percent strings.
  • anchor decides what the position points at, the centre or the top-left corner.
  • rotate turns the clip about that anchor, so a corner-anchored shape turns about its corner.
  • corners is the other form: four named points that pin a clip onto a screen in the shot.
  • A clip with no position is centred.

Old timelines render as they did. The legacy module maps every old field onto the transform, and the golden suite compiles them to byte-identical documents. Two cases move on purpose, both checked against production first: a plain scale with no position is now centred rather than pinned by its corner, and a corner-anchored shape turns about that corner rather than its centre.

More in the compose framing docs.

The same transform carries a box of the clip’s own shape.

Share