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.
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%" } }}positiontakes pixels as plain numbers as well as percent strings.anchordecides what the position points at, the centre or the top-left corner.rotateturns the clip about that anchor, so a corner-anchored shape turns about its corner.cornersis 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.
