Transform and Matrix4
One transform source
V2 uses a 4x4 transform representation for both 2D and 3D.
{
"frame": { "width": 480, "height": 270 },
"transform": {
"translate": { "x": 320, "y": 180, "z": 0 },
"rotate": { "x": 0, "y": 0, "z": 8 },
"scale": { "x": 1, "y": 1, "z": 1 },
"anchor": { "x": 0.5, "y": 0.5, "z": 0 },
"skew": { "x": 0, "y": 0 }
}
}
2D is a 3D case
For ordinary 2D content, z = 0, X/Y rotation is zero, and the view is orthographic. The runtime still evaluates Matrix4 so future perspective and 3D motion do not require a transform-system replacement.
Anchor
anchor.x and anchor.y are normalized within the local frame. anchor.z is an absolute world-unit pivot coordinate. A non-zero Z anchor changes the pivot for X/Y rotation.
Order
The runtime owns the exact matrix composition order. Documentation describes semantic inputs and must not expose backend-specific matrix packing or shader details.