{
  "schema": "cdworks.project.v0.2",
  "scene": {
    "schema": "cdworks.scene.v0.1",
    "units": "mm",
    "coordinates": "world-baked-Z-up",
    "components": [
      {
        "id": "a",
        "name": "Grouped block A",
        "vertices": [
          [
            0,
            0,
            0
          ],
          [
            8,
            0,
            0
          ],
          [
            8,
            8,
            0
          ],
          [
            0,
            8,
            0
          ],
          [
            0,
            0,
            8
          ],
          [
            8,
            0,
            8
          ],
          [
            8,
            8,
            8
          ],
          [
            0,
            8,
            8
          ]
        ],
        "triangles": [
          [
            0,
            2,
            1
          ],
          [
            0,
            3,
            2
          ],
          [
            4,
            5,
            6
          ],
          [
            4,
            6,
            7
          ],
          [
            0,
            1,
            5
          ],
          [
            0,
            5,
            4
          ],
          [
            1,
            2,
            6
          ],
          [
            1,
            6,
            5
          ],
          [
            2,
            3,
            7
          ],
          [
            2,
            7,
            6
          ],
          [
            3,
            0,
            4
          ],
          [
            3,
            4,
            7
          ]
        ],
        "color": [
          0.15,
          0.65,
          0.9
        ]
      },
      {
        "id": "b",
        "name": "Grouped block B",
        "vertices": [
          [
            20,
            0,
            0
          ],
          [
            28,
            0,
            0
          ],
          [
            28,
            8,
            0
          ],
          [
            20,
            8,
            0
          ],
          [
            20,
            0,
            8
          ],
          [
            28,
            0,
            8
          ],
          [
            28,
            8,
            8
          ],
          [
            20,
            8,
            8
          ]
        ],
        "triangles": [
          [
            0,
            2,
            1
          ],
          [
            0,
            3,
            2
          ],
          [
            4,
            5,
            6
          ],
          [
            4,
            6,
            7
          ],
          [
            0,
            1,
            5
          ],
          [
            0,
            5,
            4
          ],
          [
            1,
            2,
            6
          ],
          [
            1,
            6,
            5
          ],
          [
            2,
            3,
            7
          ],
          [
            2,
            7,
            6
          ],
          [
            3,
            0,
            4
          ],
          [
            3,
            4,
            7
          ]
        ],
        "color": [
          0.15,
          0.65,
          0.9
        ]
      },
      {
        "id": "c",
        "name": "Independent block",
        "vertices": [
          [
            0,
            25,
            0
          ],
          [
            8,
            25,
            0
          ],
          [
            8,
            33,
            0
          ],
          [
            0,
            33,
            0
          ],
          [
            0,
            25,
            8
          ],
          [
            8,
            25,
            8
          ],
          [
            8,
            33,
            8
          ],
          [
            0,
            33,
            8
          ]
        ],
        "triangles": [
          [
            0,
            2,
            1
          ],
          [
            0,
            3,
            2
          ],
          [
            4,
            5,
            6
          ],
          [
            4,
            6,
            7
          ],
          [
            0,
            1,
            5
          ],
          [
            0,
            5,
            4
          ],
          [
            1,
            2,
            6
          ],
          [
            1,
            6,
            5
          ],
          [
            2,
            3,
            7
          ],
          [
            2,
            7,
            6
          ],
          [
            3,
            0,
            4
          ],
          [
            3,
            4,
            7
          ]
        ],
        "color": [
          0.95,
          0.55,
          0.2
        ]
      },
      {
        "id": "base",
        "name": "Static reference",
        "vertices": [
          [
            -10,
            -10,
            -10
          ],
          [
            -5,
            -10,
            -10
          ],
          [
            -5,
            -5,
            -10
          ],
          [
            -10,
            -5,
            -10
          ],
          [
            -10,
            -10,
            -5
          ],
          [
            -5,
            -10,
            -5
          ],
          [
            -5,
            -5,
            -5
          ],
          [
            -10,
            -5,
            -5
          ]
        ],
        "triangles": [
          [
            0,
            2,
            1
          ],
          [
            0,
            3,
            2
          ],
          [
            4,
            5,
            6
          ],
          [
            4,
            6,
            7
          ],
          [
            0,
            1,
            5
          ],
          [
            0,
            5,
            4
          ],
          [
            1,
            2,
            6
          ],
          [
            1,
            6,
            5
          ],
          [
            2,
            3,
            7
          ],
          [
            2,
            7,
            6
          ],
          [
            3,
            0,
            4
          ],
          [
            3,
            4,
            7
          ]
        ],
        "color": [
          0.5,
          0.55,
          0.6
        ]
      }
    ],
    "warnings": [
      "Synthetic geometry for motion verification; not a machine mechanism."
    ]
  },
  "hidden": [],
  "groups": [
    {
      "id": "pair",
      "name": "Two-block rigid group",
      "components": [
        "a",
        "b"
      ]
    },
    {
      "id": "single",
      "name": "Independent block",
      "components": [
        "c"
      ]
    }
  ],
  "steps": [
    {
      "id": "lift",
      "group": "pair",
      "start": 0.5,
      "kind": "linear",
      "axis": "Z",
      "travel": 20,
      "pivot": [
        0,
        0,
        0
      ],
      "timing": "duration",
      "duration": 1
    },
    {
      "id": "turn",
      "group": "pair",
      "start": 1.5,
      "kind": "rotary",
      "axis": "Z",
      "travel": 90,
      "pivot": [
        0,
        0,
        0
      ],
      "timing": "speed",
      "speed": 90,
      "accel": 180
    },
    {
      "id": "shift",
      "group": "pair",
      "start": 3,
      "kind": "linear",
      "axis": "X",
      "travel": -10,
      "pivot": [
        0,
        0,
        0
      ],
      "timing": "duration",
      "duration": 1
    },
    {
      "id": "parallel",
      "group": "single",
      "start": 0,
      "kind": "linear",
      "axis": "Y",
      "travel": -15,
      "pivot": [
        0,
        0,
        0
      ],
      "timing": "duration",
      "duration": 2
    },
    {
      "id": "pause",
      "group": "single",
      "start": 2,
      "kind": "linear",
      "axis": "Y",
      "travel": 0,
      "pivot": [
        0,
        0,
        0
      ],
      "timing": "duration",
      "duration": 1
    }
  ]
}
