Complete project

A small animated composition

This teaching project shows the root, one shape layer and a typed animation track.

{
  "format": "motion-protocol",
  "formatVersion": 2,
  "id": "neon-card",
  "composition": {
    "width": 1080,
    "height": 1080,
    "fps": 30,
    "background": "#07111F",
    "colorSpace": "srgb",
    "view": {
      "projection": { "kind": "orthographic", "zoom": 1, "near": 0.1, "far": 1000 },
      "transform": {
        "translate": { "x": 0, "y": 0, "z": 0 },
        "rotate": { "x": 0, "y": 0, "z": 0 }
      }
    }
  },
  "assets": [],
  "layers": [
    {
      "id": "card",
      "parentLayerId": null,
      "order": 0,
      "frame": { "width": 640, "height": 360 },
      "timing": { "start": 0, "duration": 4000 },
      "type": "shape",
      "payload": { "shape": "rectangle", "cornerRadius": 28 },
      "style": { "fill": "#14B8A6" },
      "tracks": [
        {
          "id": "card-in",
          "path": "opacity",
          "keyframes": [
            { "time": 0, "value": { "type": "number", "value": 0 } },
            { "time": 800, "value": { "type": "number", "value": 1 } }
          ]
        }
      ]
    }
  ],
  "audio": { "sampleRate": 48000, "tracks": [] }
}

Add motion

Attach tracks to the layer when the property is atomic and animatable. Keep the layer timing window separate from keyframe times.